[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