Есть смутное ощущение, что nginx в какой-то момент перестает сбрасывать
по таймауту коннекты. В конфиге:
keepalive_timeout 75;
proxy_read_timeout 120;
По статистике, которую у меня собирает скрипт:
/usr/local/bin/lynx --dump http://${NHOST_NAME}/nginx_status| awk '/Active connections/ {active = int($NF)} /Reading:/ {reading = int($2); writing = int($4); waiting
= int($NF)} END{ print "active.value", active;
print "reading.value", reading;
print "writing.value", writing;
print "waiting.value", waiting;
}'
значилось, что у меня постоянно, даже ночью, когда реально клиентов
практически нет, примерно полтора десятка коннектов находятся в
состоянии Reading. На предыдущей портовой версии - был примерно такой же
эффект, только в положении Writing. Вчера обновил версию до 0.3.9,
перезапустил nginx стоп-стартом - сейчас в состоянии Reading - 3
коннекта - это более менее правдоподобно. Раньше я этому значения не
придавал, но, судя по графикам - "набегание" происходит за 1-2 дня,
после чего стабилизируется на некоем количестве.
Вопрос - как такую ситуацию можно отследить? Может это просто статистика
где-то в чем-то подвирает? Общее количество коннектов в пиках на этой
машине - чуть больше 50, т.е., нагрузки практически нет. Соединения -
как http, так и https. FreeBSD 5.4.
В 0.3.9 были исправлены две ошибки, из-за которых соединения могли
оставатся в состоянии writing и постояно росли. Reading у меня пока нигде
не рос. Если это будет наблюдатся на текущих версиях, то сообщайте.
Игорь Сысоев
http://sysoev.ru