<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Да ни фига там не быстрее, просто экономится память (и больше ничего, насколько я знаю), а в результате у nginx “На 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти”<br></blockquote><div><br></div><div>Есть ещё latency. Если у вас обработчик входящих запросов не CPU-bound, а (как обычно в веб-приложениях) только и делает, что ходит в memcached, базу и к другим сервисам, а потом формирует ответ и возвращает клиенту, то большую часть времени процесс валяет дурака и ждёт ответа. Он может в это время взять следующий запрос в обработку, что уменьшит общее время реакции системы.</div><div><br></div><div>Если у вас синхронное приложение, то количество одновременно выполняемых запросов будет ограничено числом процессов, которое поместится в память. Пока новые запросы находят себе свободный процесс, они обрабатываются так же быстро (нет никакого преимущества у асинхронного кода). Но как только свободные процессы исчерпались, "синхронная" система резко начнёт тормозить, а асинхронная станет лишь чуть-чуть медленнее.</div><div><br></div><div>Сорри за много буков. Вкратце, при равных затратах памяти асинхронное приложение под нагрузкой будет более быстрым.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>On 08 Feb 2015, at 22:05, Daniel Podolsky <<a href="mailto:onokonem@gmail.com" target="_blank">onokonem@gmail.com</a>> wrote:<br>
<br>
> 2015-02-08 21:47 GMT+03:00 Михаил Монашёв <<a href="mailto:postmaster@softsearch.ru" target="_blank">postmaster@softsearch.ru</a>>:<br>
>> Там  один  ресурс,  который  экономится:  чем  быстрее  обрабатывается<br>
>> запрос,  тем  быстрее  от  освободит  занимаемую под обработку память.<br>
>> Поэтому всё, что можно запустить параллельно, запускается параллельно.<br>
> Имею возразить и попросить уточнений :)<br>
><br>
> 1) синхронная модель предполагает вытесняющую многозадачность,<br>
> которая, в свою очередь, предполагает накладные расходы на<br>
> переключение контекста. так что процессор тоже должен, типа,<br>
> экономиться. ну или не тоже.<br>
><br>
> 2) действительно ли кобек-ориентированное программирование позволяет<br>
> обрабатывать запросы быстрее? а каким образом?<br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</blockquote></div></div>