У меня сайт с очень низким трафиком, работающий на nginx, с 4 работниками, 1024 соединениями каждый.
Каждые несколько часов я начинаю видеть в журнале ошибок «1024 worker_connections недостаточно», и мой сайт замедляется / становится ненадежным. Перезапуск nginx полностью решает проблему в течение следующих нескольких часов.
Очевидно, что происходит что-то странное, я не могу обслуживать 4k одновременных пользователей моего приложения.
Кроме просмотра журнала доступа (который выглядит нормально), есть ли способ более детально наблюдать за тем, что делает nginx?
Существует ли какая-либо пресловутая комбинация конфигурации, которая может привести к тому, что старые соединения будут оставаться открытыми, а не закрытыми?
Спасибо.
редактировать это выглядит не правильно
# lsof |grep nginx |grep CLOSE_WAIT |wc -l
1271
Ответы:
Без прокси проход / обратный прокси
С обратным прокси
2 потому что вы открываете соединение с тем, что вы используете
X, однако, много одновременных соединений, которые эти клиенты устанавливают к вам
Чтобы увидеть, какие соединения висят вокруг, вы можете запустить
lsof -i :PORT
. Он покажет все соединения, открытые для nginx, и их состояние.источник