На пике nginx пишет «Cannot assign requested address» при подключении к бэкенду
Nginx проксирует 6 000 RPS на три бэкенда через блок upstream без дополнительных настроек. На пике в error.log появляется connect() failed (99: Cannot assign requested address), часть запросов получает 502. ss -s показывает около 90 тысяч соединений в состоянии TIME-WAIT. Бэкенды загружены на 30%.
Что изменить?
- Включить keepalive в upstream и HTTP/1.1 к бэкенду
- Увеличить worker_connections до 65535
- Добавить четвёртый бэкенд в upstream
- Уменьшить keepalive_timeout для клиентов
