<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> Угу, договорились, память сэкономили. Но слишком дорогой ценой по нагрузке<br>
> на процессор и по latency.<br>
эту фразу я не понял<br>
<br>
если наша программа делает хоть что-нибудь, кроме пересовывания байтов<br>
между сокетами - и нагрузка на процессор и latency будут определяться<br>
совсем не моделью многозадачности.<br></blockquote><div><br></div><div>Мы говорим про решение fork на каждый запрос, так?</div><div><br></div><div>Это создаёт дополнительную нагрузку на CPU за счёт большого количества CoW в перле. С этим мы уже решили, что не перлом единым, и на C можно написать лучше.</div><div><br></div><div>Дополнительная latency проистекает из факта, что на каждый запрос нам надо устанавливать новое соединение с базой данных, с memcached, с бэкендами. Это несколько RTT до каждого из них.</div><div><br></div><div>Программа при этом может вполне делать что-то вычислительное, только оно может занимать например одну миллисекунду, а установить несколько соединений с бэкендами займёт 100 миллисекунд.</div><div><br></div><div>Лучше, чтобы перейти на конкретные цифры, какую-нибудь конкретную задачу взять.</div></div></div>