Запрос заставляет сервер MySQL уходить

0

У нас есть приложение, которое было развернуто на 50+ сайтах. На этих сайтах мы заметили странное поведение, теперь мы отследили это до одного конкретного запроса. Очень часто, один или два раза в день, как правило, один из наших отчетов об отладке

2006 : MySQL server has gone away

Я знаю, что существует множество причин, по которым эта ошибка может быть вызвана, но самая странная вещь заключается в том, что каждый раз, когда она возникает, она возникает из того же запускаемого SQL-запроса. В этом запросе нет ничего странного или сложного, он выглядит так:

SELECT `advert_only` FROM `products` WHERE `id` = '6197'

Этот запрос должен выполняться десятки тысяч раз в день для разных идентификаторов продуктов, поэтому он, конечно, не терпит неудачу каждый раз. Он случайно не работает на кажущихся случайными сайтами на наших 4 серверах. По-видимому, нет общности, одна маленькая вещь, которую мы заметили, заключается в том, что иногда это случается на загрузке 2 или 3 страницы подряд для одного конкретного человека, поскольку мы также отслеживаем IP-адреса того, с кем это произошло.

Это на серверах CentOS 5 под управлением MySQL 5.0.81

  • 0
    Сервер ушел означает, что тайм-аут. Поле идентификатора индексируется?
  • 0
    да идентификатор индексируется и является первичным ключом
Теги:
centos

3 ответа

3
Лучший ответ

Это похоже на левое поле, но вы должны проверить свой жесткий диск SMART на наличие ошибок. Если есть проблемы с чтением из этого "сектора", тогда могут возникнуть проблемы. Если у вас есть группа рейдов, я бы не стал слишком беспокоиться об этом. Я бы не дал высокой вероятности, что это проблема, но если вы действительно в тупик, то это может стоить того.

1

on http://bugs.mysql.com/bug.php?id=1011 второй комментарий говорит, что: "ошибка" MySQL-сервер ушла "вызвана запросом дольше, чем max_allowed_packet."

есть дополнительная информация об исправлении его здесь: http://bogdan.org.ua/2008/12/25/how-to-fix-mysql-server-has-gone-away-error-2006.html

0

Это означает, что соединение sql слишком долгое время простаивало. Проверьте, выполняются ли какие-то медленные операции перед вашим sql-запросом.

  • 0
    какие операции вы имеете в виду? как медленные запросы? К сведению, запрос находится в середине страницы, окруженной различными другими запросами

Ещё вопросы

Сообщество Overcoder
Наверх
Меню