<div dir="ltr">Здравствуйте.<br><br>А можно узнать, что значит "работа в режиме Апача"?<br><br><div class="gmail_quote">2008/9/17 Igor Sysoev <span dir="ltr"><<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Wed, Sep 17, 2008 at 12:45:58PM +0400, Михаил Монашёв wrote:<br>
<br>
> ММ> В какти по графику видно, что accepts requests и handled requests<br>
> ММ> разошлись в разные стороны: accepts requests выросло, а handled<br>
> ММ> requests упало до нуля.<br>
><br>
> Причём worker_connections 50; было выставлено в 19-00, а графики<br>
> начали расходиться только 23-00. Т.е. в начале, на больой нагрузке всё<br>
> отлично работало. А как она начала спадать, так постепенно, где-то за<br>
> два часа, отдача статики перестала работать.<br>
<br>
</div>Поскольку nginx не планировался для работы в режиме Апача,<br>
то там есть такое ограничение - если свободных соединений меньше<br>
NGX_ACCEPT_THRESHOLD (100), то accept'ы штрафуются - они пропускаются.<br>
В случае "worker_connections 50" штраф наступает после первого же accept'а.<br>
На большой нагрузке штраф имеет большие шансы быстро кончиться, а на малой -<br>
не кончиться вообще.<br>
<br>
Текущий workaround:<br>
<br>
event {<br>
accept_mutex off;<br>
}<br>
<br>
Надо бы пересмотреть логику: по крайней мере, сделать NGX_ACCEPT_THRESHOLD<br>
автонастраиваемым в зависимости от worker_connections, например,<br>
<br>
worker_connections / 10<br>
<div><div></div><div class="Wj3C7c"><br>
<br>
--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
</div></div></blockquote></div><br></div>