Добрый день. Столкнулся со следующей ситуацией. Есть сервер с Debian Squeeze, на нём установлен nginx 0.7.67 (из репозитория). В принципе, всё работает без проблем, но заметили, что иногда не получается приконнектиться к порту. SYN приходит, ответа нет. Пробовал включить syncookies, это несколько помогло (в логах вылезли ошибки про ?possible SYN flooding on port 80. Sending cookies.?). Но всё равно были проблемы с коннектом. Синфлуда при этом нет, это просто много легального трафика. После этого, увеличил следующие параметры:
Сообщения про ?possible SYN flooding? исчезли, однако всё равно периодически не приконнектиться к серверу. Проверял простеньким скриптом, который поднимает 20 тредов и открывает и закрывает сокеты к 80-му порту в каждом треде. Из 1000 попыток открыть сокет около 30-50 отваливаются по таймауту (2 секунды), остальные при этом коннектятся практически мгновенно.
При всём этом в dmesg пусто, в error.log нжинкса тоже пусто.
Кусок конфига нжинкса:
user www-data;
worker_processes 2;
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 65535;
use epoll;
}
server {
listen 80 default backlog=65536;
.....
}
На сервере 2 ядра, LoadAverage держится меньше единицы.