Параметр sysctl net.core.somaxconn
по умолчанию 128 (в наших системах), но может быть увеличено.
Что именно представляет собой этот предел измерения и ограничения?
Как мне узнать, насколько я близок к пределу?
Контекст: у меня недавно возникла проблема, которую, похоже, удалось исправить, подняв этот предел. Проблема была периодической, поэтому я не верю, что она действительно решена. Я хотел бы узнать, превышает ли текущее количество [независимо от этого ограничения] предыдущий максимальный предел 128.
somaxconn
определяет максимальное количество невыполненных соединений, разрешенное для каждого TCP-порта в системе. Его увеличение (рекомендуется для серверов) может предотвратить появление сообщений об отказе в соединении, но может привести к медленным соединениям, если сервер не может справиться с возросшей нагрузкой.
Вы можете проверить текущее отставание с помощью netstat -ant | grep -c SYN_REC
в соответствии с эта страница. Он подсчитает, сколько соединений находится в состоянии «SYN принято», что означает, что система получила SYN-пакет (запрос на соединение), но еще не подтвердила его.
Если в вашей системе ss
установлен, вы также можете использовать ss -s
для отображения сводки подключений. Искать synrecv
на выходе, или ss -s | grep -Po '(?<=synrecv )\d+(?=,)'
просто напечатать номер.