Медленное подключение из механизма приложений PHP PDO к облачному SQL - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь развернуть приложение PHP55 в GAE (стандартные экземпляры) с облачным соединением SQL.

Я использую DSN-соединение unix_socket, как показано в документации, но время соединения с экземпляром sql cloud очень очень медленное (иногда это может занимать до 200 мс) и оказывает серьезное влияние на время отклика приложения (он должен отвечать через 50 мс, но на самом деле среднее время ответа составляет 150 мс):

"timer (seconds)": {
            "begin": 0,
            "app": 0.043889999389648,
            "pdoinit": 0.000070095062255859,
            "pdook": 0.20270991325378,
            "pdoutf8": 0.037790060043335,
            "controller": 0.062999963760376,
            "preparequery": 0.015130043029785,
            "executequery": 0.0024099349975586,
            "return": 0.0051000118255615,
            "returnok": 0.00011014938354492
        }

Вот та же проверка производительности из экземпляра вычислительного механизма f1-micro:

"timer (seconds)": {
            "begin": 0,
            "app": 0.0002980232238769531,
            "pdoinit": 0.000014066696166992188,
            "pdook": 0.0019490718841552734,
            "pdoutf8": 0.0009219646453857422,
            "controller": 0.0030989646911621094,
            "preparequery": 0.005979061126708984,
            "executequery": 0.0009448528289794922,
            "return": 0.0031609535217285156,
            "returnok": 0.000025033950805664062
        },

Мое приложениеи экземпляр Cloud SQL находятся с одинаковым идентификатором местоположения.Так что никаких проблем здесь.

Получил другое приложение, обращающееся к облачному SQL из вычислительного механизма в том же регионе, без каких-либо проблем.

Может быть, есть другой способ подключения, который я не видел в документации?Я видел много людей, имеющих такие проблемы, без решения.Может быть, движок приложения - не верное решение?

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 17 ноября 2018

Официальная документация CloudSQL в основном утверждает, что нет альтернативных способов подключения к CloudSQL из стандарта AppEngine, кроме способов, упомянутых в документации AppEngine (например, сокеты):

Общая информация для подключения к Cloud SQL из App Engine

При подключении к Cloud SQL из стандартной или гибкой среды App Engine вы можете подключиться только с помощью приведенных ниже инструкций. Вы не можете использовать IP-адреса (публичные или частные) для подключения к Cloud SQL из приложений App Engine. Соединения из приложений App Engine с Cloud SQL безопасны и зашифрованы; вам не нужно настраивать TLS / SSL.

ИСТОЧНИК

Если это вариант для вашего приложения, вы можете попробовать вычислить Engine vm's или kubernetes Engine, чтобы иметь возможность использовать обычные tcp-соединения. Возможно, даже с частными IP-адресами, для увеличения производительности сети.

...