Я продолжаю получать спящие процессы mysql, пока мои пользователи используют мое приложение CakePHP.
Это проблема, потому что доступ к приложению заморожен (загружается на неопределенный срок) на компьютере этого пользователя. Пользователи на других компьютерах, похоже, не подвержены влиянию зависания приложения одного пользователя Единственный способ решить эту проблему для этого конкретного пользователя - перезапустить службу apache на сервере (что не идеально, поскольку на этом сервере я запускаю многокнопочные приложения).
После ожидания более 5 минут пользователь получает эту ошибку, которая, похоже, генерируется нашим прокси-сервером.
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: [no URL]
The following error was encountered:
Read Timeout
The system returned:
[No Error]
A Timeout occurred while waiting to read data from the network. The network or server may be down or congested. Please retry your request.
Your cache administrator is root.
Я изо всех сил пытаюсь определить, что вызывает запрос "засыпание", и, следовательно, исправить его.
На мой взгляд, существует три варианта решения проблемы:
- MySQL
- CakePHP
- Apache
Есть идеи?
Мои SHOW PROCESSLIST
результаты запроса показаны ниже:
ID User Host Database Command Time Status SQL query
Kill 330 instrument localhost:1267 instrument_2012 Sleep 5235 --- ---
Kill 331 pma localhost:1270 None Sleep 0 --- ---
Kill 332 root localhost:1271 mysql Query 0 --- SHOW PROCESSLIST
Примечания
- Я не использую постоянные соединения.
- Все пользователи подключаются к базе данных через приложение CakePHP.
- Приложение подключается к базе данных, используя «инструмент» в качестве имени пользователя.
- Перезапуск службы mysql (а не службы apache) не влияет.
- Загрузка ЦП увеличивается до 50% с <1% после зависания до перезапуска службы apache </li>
EDIT
Я ограничил число записей, которые я получаю в запросе, до 800, а время ответа составляет 12 секунд. Когда я получаю 1200 записей, время отклика составляет 72 секунды. Когда я получаю 1600 записей, время ответа составляет 132 секунды.
Почему время отклика увеличивается так быстро?