Обнаружение открытых подключений к базе данных
Я создал сайт и уже некоторое время работаю. но вдруг сегодня я получил и ошибку, что достигнуто максимальное количество подключений к БД.
Как я могу перечислить открытые соединения и прекратить их, используя порядок PHP, даже через сервер управления Db
2 ответа
Первый способ - использовать PHP в качестве "оболочки" CGI. При запуске таким образом экземпляр интерпретатора PHP создается и уничтожается для каждого запроса страницы (для страницы PHP) к вашему веб-серверу. Потому что он уничтожается после каждого запроса, любых ресурсов, которые он получает.
Эта проблема возникает из-за того, что многие пользователи открывают соединения одновременно. Кроме того, Ajax может вызвать эту проблему. Как только выполнение страницы завершено, соединение должно быть разорвано. Убедитесь, что вы перерабатываете одно соединение для каждого пользователя каждый раз, когда открывается страница, когда вы пробуете разные вещи. Например, вы не хотите повторно открывать соединение с БД (передача пользователя и передача) каждый раз, когда вы выполняете запрос БД. Откройте его один раз и продолжайте использовать до тех пор, пока страница не отобразится. Возможно, ваши соединения не прерываются должным образом, но я не сталкивался с этой проблемой раньше; Я знаю, что PHP может пропустить управление соединениями. Свяжитесь с вашим хостом и спросите, сколько подключений разрешено к БД в любой момент и могут ли они увеличить его.
Просто каждый раз после выполнения запроса close();
подключение.
mysql_close ([ resource $link_identifier = NULL ] );
mysqli::close ( void );
mysqli_close ( mysqli $link );