У меня есть веб-сайт, на котором Javascript отправляет запросы HTTP POST Ajax каждые 5 секунд в сценарий PHP на сервере CentOS. Если я проверю netstat
, Я вижу много связей в TIME_WAIT
состояние (в основном от 6 до 9). И это только для одного пользователя. Но веб-сайт должен получать сотни, может быть, тысячи таких запросов каждые 5 секунд от пользователей, просматривающих веб-сайт. Затем сценарий PHP получает некоторые данные из БД, чтобы вернуть их пользователю. Поэтому мне интересно, хорошо ли мое текущее решение или не требует больших ресурсов для сервера.
Я изучил возможность изменения сетевых настроек на сервере, например, обычных net.ipv4.tcp_fin_timeout
,
net.ipv4.tcp_tw_recycle
и
net.ipv4.tcp_tw_reuse
.
Но первый не имеет отношения к тому, сколько может быть соединений TIME_WAIT. И я бы предпочел не изменять эти настройки, потому что это веб-сервер для веб-сайта и т. Д., А не выделенный сервер только для сообщений поддержки активности.
Мне было интересно, может ли Ajax отправлять HTTP POST с использованием UDP, чтобы избавиться от накладных расходов, связанных с TCP, но это невозможно.
Это приводит меня к вопросам: что еще я могу сделать, чтобы сделать отправку сообщений поддержки активности как можно менее ресурсоемкими? Есть ли облегченная серверная служба, способная обрабатывать такие запросы?