
Сейчас я работаю над PHP-сайтом на выделенном сервере моего клиента и периодически получаю сообщение об ошибке, too many connections
хотя эту страницу просматривают около 5 пользователей.
Я phpMyAdmin
вижу, что max connections
переменная установлена в 400
.
На нашем локальном сервере MySQL в моей корпорации мы установили, max connections
и 200
другие товарищи используют этот сервер в то же время.
Я слышал, что на их сервере какой-то другой сайт использует тот же MySQL с большим трафиком.
Вот мои вопросы:
- Как устранить эту проблему?
- Могу ли я взглянуть на список SQL-запросов, выполненных за последние 10 минут, чтобы проверить, наша это проблема или их?
решение1
Симптомы, которые вы описываете, указывают на постоянные соединения. В некоторых настройках PHP не очень хорошо справляется с постоянными соединениями: он имеет тенденцию открывать новые соединения, а не повторно использовать существующие. Я предлагаю вам отключить эту функцию и посмотреть, сохранится ли проблема:
- На уровне кода: найти вызовыmysql_pconnect()и замените их наmysql_connect().
- На уровне конфигурации: найдитеmysql.allow_persistentдирективу и установите ее в значение false.
Если вы заметите улучшение, вы можете попробовать отрегулировать настойчивые звонки или избавиться от них навсегда.