<style type="text/css">
p, li { white-space: pre-wrap; }
</style>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Привет всем.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Хочу убедится что я правильно понимаю механизмы работы NGINX.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Есть основной сервер nginx с 8 workers, в нем есть location, который проксирует на другой сервер.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Тот, другой сервер занимается сохранением статистики.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><b>Вопрос: Что произойдет, если сервер статистики перестанет откликаться на запросы?</b></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Я думаю что, когда все workers будут ждать ответа от сервера статистики (c таймаутом по умолчанию 60 сек), тогда случится отказ в обслуживании основного сервера.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><b>Я прав, или worker nginx-a не блокируется на ожидании ответа от сервера статистики?</b></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p><p style="margin:0px;text-indent:0px">В конфиге следующее:</p><p style="margin:0px;text-indent:0px">---<br><span style="font-family:arial narrow,sans-serif">worker_processes 8;</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif">timer_resolution 100ms;</span><br style="font-family:arial narrow,sans-serif"><span style="font-family:arial narrow,sans-serif">worker_rlimit_nofile 1000000;</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif">worker_priority -5;</span><br style="font-family:arial narrow,sans-serif"><br style="font-family:arial narrow,sans-serif"><span style="font-family:arial narrow,sans-serif">error_log /var/log/nginx/error.log crit; #MUST BE "CRIT" LEVEL AT PRODUCTION !!!</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif">#error_log /var/log/nginx/error.log notice;</span><br style="font-family:arial narrow,sans-serif"><span style="font-family:arial narrow,sans-serif">#error_log /var/log/nginx/error.log info;</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif">pid /var/run/nginx.pid;</span><br style="font-family:arial narrow,sans-serif"><br style="font-family:arial narrow,sans-serif"><span style="font-family:arial narrow,sans-serif">events {</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif"> worker_connections 100000;</span><br style="font-family:arial narrow,sans-serif"><span style="font-family:arial narrow,sans-serif"> use epoll;</span><br style="font-family:arial narrow,sans-serif">
<span style="font-family:arial narrow,sans-serif">}</span></p><p style="margin:0px;text-indent:0px">...</p><p style="margin:0px;text-indent:0px">location /stat/ {</p><p style="margin:0px;text-indent:0px"> proxy_pass <a href="http://stat_server:8080">http://stat_server:8080</a></p>
<p style="margin:0px;text-indent:0px"> error_page 404 502 504 =@fallback<br></p><p style="margin:0px;text-indent:0px">}</p><p style="margin:0px;text-indent:0px">...<br></p><p style="margin:0px;text-indent:0px"><span style="font-family:arial narrow,sans-serif"></span>---</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br></p>