MySQL server has gone away (opencart)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

MySQL server has gone away

Сообщение BigBrother »

Всем привет.
Проект на opencart`e постоянно (каждые 5 секунд) выдает у себя в логах сообщение

Код: Выделить всё

PHP Warning:  mysql_query(): MySQL server has gone away in /var/www/project/system/database/mysql.php

Если очищаю php APC cache, то ворнинги прекращаются, но через несколько минут начинают сыпатся сново.
Файлик mysql.php, в проекте, не родной, а модифицированный программистами для разделения select`ов от других запросов. Балансировкой select`ов mysql, занимается haproxy, к которому opencart через config.php конектится, если это запрос на select.

В интернете ребята советую смотреть в сторону my.cnf

Код: Выделить всё

max_allowed_packet
wait_timeout

Но эти опции не помогают.

Как это можно исправить?
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: MySQL server has gone away

Сообщение BigBrother »

Только что заметил, что если выключить балансировку через haproxy, то "MySQL server has gone away" - нет.
Вот конфиг haproxy

Код: Выделить всё

global
        chroot /usr/local/haproxy
        daemon
        user haproxy
        group haproxy
        #nbproc 2
        pidfile /usr/local/haproxy/var/haproxy.pid
        nokqueue
        maxconn 10240
        spread-checks 3
        log 127.0.0.1 local1 notice
        node mysql-select-balance

listen mysql IP:port
        mode tcp
        fullconn 10240
        balance roundrobin
        #balance leastconn
        option mysql-check
        option tcpka

        server slave1 IP1:3306 check port 3306 weight 12
        server slave2 IP2:3306 check port 3306 weight 5
        server master IP3:3306 check port 3306 weight 2

        timeout connect 15s
        timeout client  15s
        timeout server  15s

listen haproxy_status IP:port
        stats uri /stats
        stats realm Haproxy\ Statistics
        stats show-legends
        stats refresh 10s
        maxconn 30
        mode http
        option httpclose
        transparent
        stats auth login:password
        timeout connect 15s
        timeout client  15s
        timeout server  15s
Спасибо сказали:
Ism
Сообщения: 1261
Статус: Никто, по сути быдло

Re: MySQL server has gone away

Сообщение Ism »

MySQL server has gone away
Может быть изза слишком большого размера сетевого пакета, размер настраивается в конфиге
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: MySQL server has gone away

Сообщение BigBrother »

После изменения параметров с

Код: Выделить всё

        timeout connect 15s
        timeout client  15s
        timeout server  15s

на

Код: Выделить всё

        timeout connect 45s
        timeout client  45s
        timeout server  45s

для haproxy, ошибка исчезла.
Не понимаю, разве 15 секнуд не хватает, для обмена информацией по гигбитному каналу, между серверами, которые практически в одной стойке... ?

----
----
Ism писал(а):
03.04.2013 00:42
MySQL server has gone away
Может быть изза слишком большого размера сетевого пакета, размер настраивается в конфиге

BigBrother писал(а):
02.04.2013 17:53
В интернете ребята советую смотреть в сторону my.cnf

Код: Выделить всё

max_allowed_packet
wait_timeout

Но эти опции не помогают.

Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: MySQL server has gone away

Сообщение KiWi »

Эти таймауты немного не про передачу данных.
Ну и значения там может поставить немного другие -- connect типа 5s(или даже меньше), client/server -- 75s(ну или больше секунды на 3).

О чём эти таймауты совершенно точно можно прочитать в документации. А с 75s -- почитать предположение ниже и посмотреть что происходит по умолчанию раз в 75 секунд.

И окажется, что в php на самом деле используется pconnectы...
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: MySQL server has gone away

Сообщение BigBrother »

BigBrother писал(а):
03.04.2013 20:15
haproxy, ошибка исчезла.

Нет. Проблема появилась вновь. После пару дней работы, сново получаем

Код: Выделить всё

2013-04-08 16:45:15 - PHP Warning:  mysql_query(): MySQL server has gone away in /var/www/project/system/database/mysql.php on line 85
2013-04-08 16:45:20 - PHP Warning:  mysql_query(): MySQL server has gone away in /var/www/project/system/database/mysql.php on line 85
2013-04-08 16:45:23 - PHP Warning:  mysql_query(): MySQL server has gone away in /var/www/project/system/database/mysql.php on line 85
2013-04-08 16:45:27 - PHP Warning:  mysql_query(): MySQL server has gone away in /var/www/project/system/database/mysql.php on line 85

KiWi писал(а):
04.04.2013 03:49
И окажется, что в php на самом деле используется pconnectы...

Что имеется ввиду? Можно подробней, чтобы я знал о чем разговаривать с программистами.
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: MySQL server has gone away

Сообщение BigBrother »

BigBrother писал(а):
08.04.2013 18:09
KiWi писал(а):
04.04.2013 03:49
И окажется, что в php на самом деле используется pconnectы...

Что имеется ввиду? Можно подробней, чтобы я знал о чем разговаривать с программистами.

в нашем случае используются mysql_connect`ы.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: MySQL server has gone away

Сообщение KiWi »

А что в статистике haproxy?
Во время появления ошибок не уходил ли сервер в DOWN по мнению haproxy?
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: MySQL server has gone away

Сообщение BigBrother »

KiWi писал(а):
10.04.2013 01:18
А что в статистике haproxy?
Во время появления ошибок не уходил ли сервер в DOWN по мнению haproxy?

В статистике все в порядке. Счетчики dwn и Dwntme по нулям.
Спасибо сказали:
Аватара пользователя
moonglow
Сообщения: 90
ОС: CentOS

Re: MySQL server has gone away

Сообщение moonglow »

я создал и иногда поддерживаю два сравнительно больших магазина на ocStore 0.2.0
к сожалению, исчерпывающую информацию по проблеме я просто не помню
у меня возникала эта проблема, я нагуглил на форуме разработчиков их взгляд на проблему
по их совету выключил APC и проблема решилась
Спасибо сказали: