У меня есть приложение PHP, которое использует AJAX для получения информации, а сзади оно использует синглтон PHP MySQLi. AJAX-запросы отправляются каждые 0,5 секунды, они считывают некоторые данные из базы данных и доставляют их в виде строки JSON обратно на веб-сайт. Когда я открываю веб-сайт несколько раз (в разных вкладках), я получаю сообщение об ошибке, потому что PHP, а точнее, apache, не может «разветвить другой процесс». На моем сервере достаточно оперативной памяти, но проблема в том, что достигнут лимит процессов в 130 процессов.
cat /proc/user_beancounters
---------------------------
| held | maxheld |
numproc | 130 | 130 |
Итак, я хотел бы знать, возможно ли, что синглтон является ошибкой (например, «почему синглтоны плохи»), или вы можете представить другой источник ошибки? Источник ошибки, что так много MySQL-процессов запускаются и достигают макс. предел?