2013-04-23 3 views
0

Мне нужна информация, как только вы сможете помочь мне разобраться в проблеме. Я разработал приложение на PHP, которое запрашивает базу данных mysql и возвращает ответы как json. Я загрузил тестовый ответ json как в pylot, так и в apache jmeter, и все было в порядке. Я использую постоянные соединения, используя PDO PHP. Однако, несмотря на то, что соединение является постоянным, мне по-прежнему отказывают в подключении к базе данных со следующей ошибкой.постоянные соединения и max_user_connections

[23-Apr-2013 12:11:53] SQLSTATE[42000] [1203] User user already has more than 'max_user_connections' active connections 

Я думал, что постоянные соединения смягчат это, но похоже, что они игнорируются. Любые советы будут очень признательны.

+0

У вас больше соединений apache, чем max_user_connections? (высокая нагрузка или такая штука?) – bwoebi

+0

Устранение неполадок устраняет проблему http://www.mysqlperformanceblog.com/2006/11/12/are-php-persistent-connections-evil/ – Waygood

ответ

0

Если вы намерены сократить количество подключений, использование pconnect будет неправильной идеей, так как это фактически увеличит число.

Итак, для решения проблемы вам необходимо увеличить количество max_user_connections в конфигурации сервера mysql в соответствии с количеством потоков apache/nginx.

Если вы не можете увеличить количество max_user_connections, вы не должны использовать постоянное соединение.

Вот и все.

0

В моем личном опыте на протяжении многих лет постоянные соединения в скриптах PHP не уменьшают сообщение об ошибке * max_user_connection *. Напротив, они часто являются причиной.

Независимо от причины, пул соединений не работает как рекламируемый. PHP имеет тенденцию открывать новые соединения, даже когда там сидят бездействующие. В результате, приложение с относительно низким трафиком заканчивается исчерпывающим максимумом (и 90% соединений ничего не делают).

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

Смежные вопросы