![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день.
Вчера встретился с новой для себя ошибкой - "Too many connections". В связи с этим появились вопросы:
1. Когда интернет-страница загружена на 100% - нужно производить отключение от БД?
2. Если клиент закрыл страницу/браузер/выключил компьютер - что делается с соединением? Еще живет или умирает?
3. Как эта проблема решена, например, у ebay, amazon... где всегда много пользователей?
Неактивен
1. по завершению php-скрипта, соединение с базой разрывается, если не было persistent подключения
2. это никак не влияет на работу сервера - сервер отвечает за запросы отдельных страниц
3. решений много разных, детали см. в трудах конференции Highload++, например
Обычно too many connections указывает на то, что запросы отрабатываются сервером медленно. Изучите медленные запросы
Неактивен
Подключение к БД идет стандартно:
Неактивен
Скорее всего дело именно в том, что запросы выполняются слишком долго. Выполните SHOW FULL PROCESSLIST - увидите какие запросы выполняются
Неактивен
Ошибка too_many_connections что количество открытых соединений (потоков ) на mysql превысило значение системной переменной
max_connections.
Скорее всего такая ситуация вызвана медленным исполнением запросов либо некорректными настройками БД, тогда после завершения отправки ответа клиенту соединение остается открытым и вы быстро упираетесь в этот лимит.
Увидеть открытые потоки и ихстатусы вы можете с помощь команды SHOW FULL PROCESSLIST
Неактивен