У меня есть веб-приложение, построенное на PHP. Клиент — это стандартная страница html / js, просматриваемая в веб-браузере. Этот клиент отправляет запросы Ajax каждую минуту, чтобы получать свои обновления. Эта установка работала одинаково с двух лет.
Журналы говорят мне, что один пользователь, кажется, не выключил свой компьютер в четверг, поэтому клиент браузера отправлял свои запросы в течение пасхальных выходных без паузы. Обычно это не должно быть проблемой, это единственная странная вещь, которую я заметил, пытаясь отследить проблему. Около 16:00 в воскресенье запросы этого клиента, обнаруженные в Apache access.log, внезапно прекратились.
Около 6 вечера приложение перестало быть доступным, так как достигнуто максимальное количество подключений Apache. Более 400 соединений по IP-адресу указанного клиента находятся в состоянии CLOSE_WAIT.
Я сейчас пытаюсь понять, как это могло произойти. Нет внешней базы данных и используется только PHP на Apache2. Поэтому обычно обработка запроса tcp не должна вызывать проблем, так как они не входят в сферу применения PHP.
Спасибо.
Задача ещё не решена.
Других решений пока нет …