[Moscow.pm] асинхронный код позволяет сильно сэкономить ресурсы серверов

Alexander Lourier aml на rulezz.ru
Вс Фев 8 11:24:42 PST 2015


>
> Да ни фига там не быстрее, просто экономится память (и больше ничего,
> насколько я знаю), а в результате у nginx “На 10 000 неактивных HTTP
> keep-alive соединений расходуется около 2.5M памяти”
>

Есть ещё latency. Если у вас обработчик входящих запросов не CPU-bound, а
(как обычно в веб-приложениях) только и делает, что ходит в memcached, базу
и к другим сервисам, а потом формирует ответ и возвращает клиенту, то
большую часть времени процесс валяет дурака и ждёт ответа. Он может в это
время взять следующий запрос в обработку, что уменьшит общее время реакции
системы.

Если у вас синхронное приложение, то количество одновременно выполняемых
запросов будет ограничено числом процессов, которое поместится в память.
Пока новые запросы находят себе свободный процесс, они обрабатываются так
же быстро (нет никакого преимущества у асинхронного кода). Но как только
свободные процессы исчерпались, "синхронная" система резко начнёт
тормозить, а асинхронная станет лишь чуть-чуть медленнее.

Сорри за много буков. Вкратце, при равных затратах памяти асинхронное
приложение под нагрузкой будет более быстрым.


>
> On 08 Feb 2015, at 22:05, Daniel Podolsky <onokonem на gmail.com> wrote:
>
> > 2015-02-08 21:47 GMT+03:00 Михаил Монашёв <postmaster на softsearch.ru>:
> >> Там  один  ресурс,  который  экономится:  чем  быстрее  обрабатывается
> >> запрос,  тем  быстрее  от  освободит  занимаемую под обработку память.
> >> Поэтому всё, что можно запустить параллельно, запускается параллельно.
> > Имею возразить и попросить уточнений :)
> >
> > 1) синхронная модель предполагает вытесняющую многозадачность,
> > которая, в свою очередь, предполагает накладные расходы на
> > переключение контекста. так что процессор тоже должен, типа,
> > экономиться. ну или не тоже.
> >
> > 2) действительно ли кобек-ориентированное программирование позволяет
> > обрабатывать запросы быстрее? а каким образом?
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150208/63ddcf37/attachment.html>


Подробная информация о списке рассылки Moscow-pm