2016-03-11 3 views
0

У меня есть экземпляр GCE, в котором работает PHP-приложение в течение нескольких месяцев. У меня также есть экземпляр Cloud SQL, который работает MySQL в течение нескольких месяцев, который используется приложением PHP, работающим на GCE. Оба имеют назначенные IPv4-адреса, а экземпляр Cloud SQL специально имеет IP-адрес из экземпляра GCE, разрешенный для доступа.ОШИБКА 2013 (HY000): Потерянное соединение с сервером MySQL при «считывании исходного пакета связи», системная ошибка: 0

По большей части, все работает отлично, но в течение дня, я получаю эти ошибки в случайные моменты времени:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

Я не могу найти модель, но это происходит в десятки раз на протяжении всего день. Согласно документации Cloud SQL, это, скорее всего, связано с тем, что IP-адрес источника не авторизовался, но, как видно, это, как правило, работает, за исключением случаев, когда они этого не делают.

Я не могу найти что-то не так с моей конфигурацией - если я использую локальный экземпляр MySQL (на экземпляре GCE), все работает нормально, но я бы хотел использовать Cloud SQL по разным причинам.

Любые советы или помощь будут оценены.

EDIT: Я должен заметить, что весь мой стек - это PHP 5.4.16, Nginx/PHP-FPM/Xenforo, работающий на GCE, подключающийся к Cloud SQL.

EDIT2: копаться, я нахожу эти ошибки, которые кажутся связанными:

[3230745.933113] php-fpm[1070]: segfault at 451 ip 00007f464ee06ecc sp 00007fff3d94fdf0 error 4 
[3230745.936218] php-fpm[2386]: segfault at 451 ip 00007f464ee06ecc sp 00007fff3d94fdf0 error 4 
[3230745.936222] in libmysqlclient.so.18.0.0[7f464edd5000+28c000] 

[3230745.939295] php-fpm[2379]: segfault at 451 ip 00007f464ee06ecc sp 00007fff3d94fdf0 error 4 
[3230745.939298] in libmysqlclient.so.18.0.0[7f464edd5000+28c000] 

[3230745.940917] php-fpm[2389]: segfault at 451 ip 00007f464ee06ecc sp 00007fff3d950120 error 4 
[3230745.940920] in libmysqlclient.so.18.0.0[7f464edd5000+28c000] 

[3230746.002919] in libmysqlclient.so.18.0.0[7f464edd5000+28c000] 
+0

Какую библиотеку PHP вы используете для подключения к БД? Используете ли вы постоянные соединения? – Vadim

+0

Похоже, что у меня есть как mysql, так и mysqli, хотя только mysqli показывает активную ссылку (через phpinfo). Оба они равны 5.5.46. – jaychris

+0

У вас есть mysqli.allow_persistent включен в php.ini? Можете ли вы показать пример кода, который вы используете для подключения и выполнения запроса? – Vadim

ответ

0

вы используете SSL для подключения к экземпляру?

Когда соединение завершается с ошибкой, как описано, выполняете ли вы какое-то экспоненциальное отключение перед попыткой повторно подключиться?

+0

Нет, не связано SSL. Я не могу сказать, есть ли отсрочка, главным образом потому, что проблема такая случайная, я не могу ее воспроизвести по требованию. Единственной информацией, которую я получаю, является ошибка MySQL, отмеченная в PHP. Должен заметить, что весь мой стек - это PHP 5.4.16, Nginx/PHP-FPM/Xenforo, работающий на GCE, подключающийся к Cloud SQL. – jaychris

Смежные вопросы

 Смежные вопросы