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

Victor Efimov victor на vsespb.ru
Вс Фев 8 13:43:38 PST 2015


8 февраля 2015 г., 23:22 пользователь Alexander Lourier <aml на rulezz.ru> написал:
>> > ну смешно же. любой демон, работающий с внешней средой.
>> ну, то есть, прокси. одну задачу придумали. а еще?
>
>
> Почему обязательно прокси?
>
> Практически любое веб-приложение требует на каждый запрос аутентифицировать
> сессию, запросить данные у бэкендов (memcached, база, какие-то другие
> серверы), собрать шаблон, отправить обратно. Вычислительной нагрузки - кот
> наплакал (сформировать запросы, распарсить ответы, отрендерить шаблон,
> сформировать ответ). Но это не прокси, это полноценное приложение, которых
> большинство.

Да, вот именно что большинство. Но не согласен, что в перечисленном
выше списке вычислительной нагрузки - кот наплакал. Её много.
Нельзя сделать такое приложение только асинхронным. Пока в
каком-нибудь одном  воркере будут вычисления, все остальные будут
тупить.
Соответственно придётся делать и fork, а внутри каждого unix процесса
- асинхронный код. Что похоже на двойную работу ради экономии памяти.

Имхо вообще асинхронные приложения мало где оправданы - это должно
быть приложение либо блокирующеесся только вводом-выводом, либо то где
хайлоад/много воркеров и разработка fork+AE+риск что Марк найдёт свой
автобус хоть как-то выгоднее содержания дополнительных компов/памяти
памяти (для "большинства задач" речь о выделении о покупке одной
планки памяти в следующий апгрейд).
Для остальных применений вижу AE лишним, и переоцененным.

>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


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