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

Будет ли MySQL отказываться от новых подключений после достижения максимального количества подключений до перезапуска?

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

Итак, мой вопрос: как только сервер / экземпляр MySQL достигнет максимального количества подключений, откажется ли он от подключений до перезапуска или автоматически разрешит больше подключений, когда количество подключений упадет ниже максимального?

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

В страница ошибки слишком много подключений на сайте MySQL ничего не говорится о том, что должно произойти.

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

Вам также следует следить за sudo netstat -anp | grep mysqld чтобы узнать, сколько соединений действительно открыто. Моя любимая причина использования краулингового сервера - это, конечно, перебивание. Объедините оптимистично настроенный Apache, ресурсоемкое веб-приложение и внезапно появившуюся толпу пользователей, и вы получите постоянно меняющийся сервер. При установке с одним диском это также замедляет MySQL, который не может получить достаточно оперативной памяти для эффективной работы. Так он тоже начинает пробивать диск. Плюс: ожидание, когда пользователи нажимают кнопку обновления -> другой экземпляр веб-приложения -> другое соединение, которое слишком долго остается занятым.

Использовать vmstat 10 (игнорируйте первую строку, это история работоспособности) и найдите записи подкачки (в KiByte / s). Обмен в производстве - это не хорошо (TM).