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

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


>
> > Угу, договорились, память сэкономили. Но слишком дорогой ценой по
> нагрузке
> > на процессор и по latency.
> эту фразу я не понял
>
> если наша программа делает хоть что-нибудь, кроме пересовывания байтов
> между сокетами - и нагрузка на процессор и latency будут определяться
> совсем не моделью многозадачности.
>

Мы говорим про решение fork на каждый запрос, так?

Это создаёт дополнительную нагрузку на CPU за счёт большого количества CoW
в перле. С этим мы уже решили, что не перлом единым, и на C можно написать
лучше.

Дополнительная latency проистекает из факта, что на каждый запрос нам надо
устанавливать новое соединение с базой данных, с memcached, с бэкендами.
Это несколько RTT до каждого из них.

Программа при этом может вполне делать что-то вычислительное, только оно
может занимать например одну миллисекунду, а установить несколько
соединений с бэкендами займёт 100 миллисекунд.

Лучше, чтобы перейти на конкретные цифры, какую-нибудь конкретную задачу
взять.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150208/79276548/attachment-0001.html>


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