English Version

Итоги.

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

Я хотела бы обратить ваше внимание на то, что мы рассмотрели только наиболее часто встречающиеся случаи в то время как MySQL сервер имеет много параметров, каждый из которых может влиять на поведение приложения. Анализируйте параметры, которые вы применяете. Один из приёмов: запустить тот же запрос, используя MySQL сервер, запущенный с опцией –no-defaults и посмотреть отличается ли результат. Если результат отличается, проанализируйте влияние параметра ещё раз и исправьте проблему.

Приём №24: проверяйте запросы на сервере, запущенном с опцией --no-defaults и сравнивайте результат.

Ниже приведён список приёмов, рассмотренных в этой части.

Приём №15: проверяйте значение max_allowed_packet и размер передаваемых данных если сервер выдаёт ошибку для синтаксически правильного запроса.

Приём №16: проверяйте значение wait_timeout и других timeout-ов, если вы встречаете ошибку "MySQL server has gone away"

Приём №17: проверяйте значение connect_timeout в случае ошибки «Lost connection to MySQL server at 'reading authorization packet'»

Приём №18: всегда используйте error log

Приём №19: используйте general query log если error log не содержит информации о причинах крушения сервера.

Приём №20: всегда проверяйте достаточно ли у вас RAM для выделенных буферов.

Приём №21: устанавливайте значение max_connections таким какое вы сможете обслужить.

Приём №22: используйте средства мониторинга вашей операционной системой чтобы установить что потребляет избыточное количество ресурсов, которое приводит к крушению MySQL сервера.

Приём №23: Используйте опцию log_warnings=2 чтобы отследить имеются ли у вас отклонённые соединения.

Приём №24: проверяйте запросы на сервере, запущенном с опцией --no-defaults и сравнивайте результат.

Назад Содержание Вперёд



Автор 2009 Света Смирнова
COPYRIGHT © 2009 С.Смирнова и С.Ласунов
sveta_гав_js-client_точка_com