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

Warstone@list.ru warstone на list.ru
Пн Фев 9 05:33:58 PST 2015


 Неверно в принципе, ну да ладно...

Понедельник, 09 февраля 2015, 17:09 +04:00 от Andrey Kovbovich <akovbovich на gmail.com>:
>Асинхронно - это когда несколько потоков исполнения работают как им возблагорассудиться, а синхронно - это когда потоки работают в соответствии некому генератору квантов логического  времени
>
>понедельник, 9 февраля 2015 г. пользователь Daniel Podolsky  написал:
>>> Добавлять воркеров я уже не могу - их 50 штук на сервере выполняется, и
>>> больше уже памяти нет.
>>Хочу подробностей! Что это за воркеры такие злые? Почему асинхронному
>>приложению эта память не понадобится? Может, и синхронному не нужна?
>>--
>>Moscow.pm mailing list
>>moscow-pm на pm.org  |  http://moscow.pm.org
>-- 
>Moscow.pm mailing list
>moscow-pm на pm.org |  http://moscow.pm.org

Собственно тут вроде-бы еще не проскальзывала мысль, что асинхронность, при условии достаточности ресурсов - это всегда медленнее чем синхронность. Например: Я зажевал в один поток все сообщения, раздал запросы на данные и обрабатываю результаты.... Пока я обрабатываю один результат, остальные стоят. В случае с синхронным форком такого-бы не было (у нас много ядер).

Проблема назревает когда у нас бекэнд (то, что отвечает на запросы), обрабатывает запрос долго. Но в этом случае какая, нафиг, кому разница - где делается "асинхронность" - у нас в лупе или в ядре при свитче контекста. Бек все-равно дольше...

Асинхронность нужна в некоторых случаях:
- Если у вас стоимость свитча контекста гораздо дороже ответа от бэка (по времени), но при переходе на асинк у вас еще будет дофига ресурсов ЦПУ (так как свитч контекста - это ЦПУ задача).
- Если у вас асинк дает другие преимущества (в то числе и "потому что его умеют готовить разработчики, а вот с форком им сложно").
- Если у вас задача "обработать данные, зная что у вас в очереди всегда есть следующие задачи". Допустим быстрое преобразование фурье с отсылкой результатов далее по конвееру. (Привет  SETI на Home) Вот тогда - да. Тогда есть у вас CPU баунд задача и вам важны такты процессора.

На практике мы всегда боимся 1го, но зачастую протормозы в беках гораздо больше.

ЗЫ: Тоже поучаствовать решил.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150209/f6bbb3e4/attachment.html>


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