MySQL - как диагностировать причину предупреждения " прерванное соединение - (получил таймаут чтения пакетов связи)"


У меня возникли некоторые проблемы на нашем довольно загруженном веб-сервере Windows 2008 R2, работающем под управлением MySQL.

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

Включив регистрацию предупреждений в MySQL, я вижу повторяющиеся журналы следующего предупреждения:

[Warning] Aborted connection 7153 to db user: 'XXXX' host: 'XXXXXX' (Got timeout reading communication packets)

Документы здесь http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html предложите ряд потенциальных причин, связанных с сетью.

Некоторые настройки в разделе "расширенная сеть":

Максимальный размер пакета: 128 м (вчера мы увеличили его с 64 м) Время ожидания: 20 Максимальное Количество Соединений: 1000 Макс Конн в расчете: 1000 Количество повторных попыток: 5

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

Спасибо в продвижение

1 8

1 ответ:

Это была сложная проблема для решения, но в конечном итоге мы нашли пару тысяч явно осиротевших TCP-соединений открытыми (с помощью Диспетчера задач > монитора ресурсов), которые были сгенерированы процессом отправки электронной почты.

Так как соединения MySQL зависят от TCP, сервер БД страдал в результате.