Назад | Перейти на главную страницу

MySQL перестает отвечать несколько раз в час

Я застрял, пытаясь решить проблему с MySQL. Несколько раз в час, примерно на 60 секунд, MyuSQL перестает отвечать на запросы, в результате чего наш сайт становится недоступным в течение этого периода. Я включил журнал медленных запросов и ничего не обнаружил (все запросы во время простоя, естественно, очень медленные, но, похоже, ни один запрос не вызывает проблемы).

Я отключил все (свои) задания cron, и проблема все еще сохраняется.

Я вышел на первое место во время простоя, а MySQL почти даже не работает, что заставляет меня думать, что это не проблема загрузки / неправильного запроса.

верхний скриншот здесь: Немного статистики по моим vps:

1,8 ГБ оперативной памяти, 2,2 ГГц процесс. MySQL 5.1.56. Мой сайт работает ослепительно быстро, за исключением тех периодов, когда он блокируется. Средняя загрузка процессора составляет 40%.

Вот мой my.cnf:

[mysqld]

сейф-шоу-база данных tmp_table_size = 24M

max_heap_table_size = 32 млн

query_cache_limit = 1 млн

query_cache_size = 70 МБ

query_cache_type = 1

max_connections = 200

collation_server = utf8_unicode_ci character_set_server = utf8

delayed_insert_timeout = 40

Interactive_timeout = 10

wait_timeout = 400

connect_timeout = 20

thread_cache_size = 64

key_buffer = 50 млн

join_buffer = 1 млн

max_connect_errors = 20

max_allowed_packet = 8 млн

table_cache = 1024

record_buffer = 1 млн

sort_buffer_size = 2M

read_buffer_size = 2 млн

read_rnd_buffer_size = 1 млн

thread_concurrency = 2

myisam_sort_buffer_size = 32 МБ

innodb_buffer_pool_size = 200 млн

Мы высоко ценим любые советы о том, как отследить эту проблему.

Если вы можете войти в консоль mysql во время простоя, попробуйте запустить

SHOW PROCESSLIST;

Здесь должны быть перечислены запущенные потоки mysql и выполняемые ими запросы. Это должно дать вам немного больше представления о том, что делает MySQL, из-за чего он не реагирует.

Хостинговая компания отследила это до неправильной конфигурации apache, они увеличили ограничения памяти для apache, и теперь проблема решена.

Установите Cacti на центральный сервер управления / мониторинга. Затем установите шаблоны mysql-cacti.

Я бы настроил это с помощью системного мониторинга, а также всего мониторинга mysql. Это должно дать вам большую часть данных, необходимых для диагностики.

На сайте шаблонов также есть отличная документация.

Ссылки: http://code.google.com/p/mysql-cacti-templates/