В настоящее время мы работаем с размещенным сервером с Ubuntu 14.4 и PHP 5.3 (старый, да, я знаю). В настоящее время у нас есть мобильные устройства (~ 2500 единиц), которые регулярно сообщают информацию о состоянии устройства на наш сервер. Эти устройства входят и выходят из Wi-Fi, а некоторые имеют сим-карты.
Наш интерфейс случайно показывает Internal Server Error 500
. Эта ошибка появляется на регулярной, но случайной основе. Когда я проверяю журналы ошибок, error.log
не показывает ничего необычного, однако error_cgidemo
показывает только ошибки, как показано ниже
Может ли наш сервер быть заполнен соединениями, поэтому не допускается подключение дополнительных соединений к серверу? Я просмотрел несколько различных тем и попытался применить некоторые исправления, однако я и мой коллега не уверены, как именно это исправить. Любой вход или другие области, чтобы проверить? Может ли это быть напрямую связано с трафиком?
Мы проверили php cgi max requests
(в настоящее время 5000
). php cgi max children = 3
. Другие вещи, которые мы заметили, это большое количество подключающихся Unix STREAMS (через netstat
). Также большое количество TCP-соединений на FIN_WAIT1,2
и LAST_ACK
.
[Sun Jun 30 06:55:28.640993 2019] [fastcgi:error] [pid 18765] [client 202.161.113.126:56034] FastCGI: comm with server "/var/www/cgi-bin/php-cgi-5.3.29" aborted: idle timeout (30 sec)
[Sun Jun 30 06:55:28.641022 2019] [fastcgi:error] [pid 18765] [client 202.161.113.126:56034] FastCGI: incomplete headers (0 bytes) received from server "/var/www/cgi-bin/php-cgi-5.3.29"