PHP/mySQL: как отладить ошибку «слишком много подключений»?

PHP/mySQL: как отладить ошибку «слишком много подключений»?

Сейчас я работаю над 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.

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

Связанный контент