Что это было?

Мускул перестал отвечать на запросы.
Захожу ssh, запускаю mysql - все работает. Пробую пару селектов - всё ок. Но ни php, ни perl законектиться не могут.
loadaverage небольшой, около 1, память есть, свопа нет. Чудеса.
/etc/init.d/mysql restart - и всё заработало.

Вопрос залу - что это было и как с этим бороться на будущее?

Комментарии

MySQL: Too many connections

300 человек на сайте. Мускул не справляется.

http://www.mysql.ru/docs/man/Too_many_connections.html
http://www.mysql.ru/docs/man/Communication_errors.html
Но, наверное, эти ссылки и так известны.

jd написал:
http://www.mysql.ru/docs/man/Too_many_connections.html
http://www.mysql.ru/docs/man/Communication_errors.html
Но, наверное, эти ссылки и так известны.

Спасибо, интересные ссылки. Особенно мне понравилась фраза "Криво" сконфигурированный TCP/IP. - просто за душу берет. Конечно, не каждому переводчику дано знать свой родной язык так же хорошо как тот, с которого он переводит, но постараться. наверное, можно было.

larin написал:
300 человек на сайте. Мускул не справляется.

В файле /etc/my.cnf поставьте:

max_connections = 400

- это увеличит количество одновременно открытых соединений.

И еще добавьте:

wait_timeout=60

- этот параметр уменьшит тимеаут открытого соединения с 400 (по умолчанию) до 60 сек., т.е. если у Вас где-то в программе остаются незакрытые соединения с MySQL, через 60 секунд неактивности MySQL будет разрывать их автоматически и "мертвые" соединения будут накапливаться заметно медленнее чем с таймаутом по умолчанию и предел max_connections будет достигаться не так быстро.

После корректировки my.cnf необходим перезапуск MySQL.

400 коннектов... хм... это наверное для кластера из нескольких десятков машин надо :) . Если скрипты как FCGI гоняются, там 10 коннектов за глаза. У самого так все работает на более загруженном проекте.

larin написал:
300 человек на сайте. Мускул не справляется.

Весьма приличный показатель! Есть повод для гордости :) И одновременно, повод для забот. При такой нагрузке сайт начнет требовать больше времени и внимания.
Любопытные живут меньше, но интереснее...

Из-за временной нехватки памяти у мускула изредка бывают весьма загадочные блокировки, из которых он самостоятельно не выскакивает. Бороться сложно, проще не доводить до такого состояния.

От апача избавиться удалось? Покуда он не задвинут подальше, всякие "тюнинхи" будут отдавать шаманизмом. Глюки мускула при таком раскладе - только следствие.

X