<div dir="ltr">> <span style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">А почему не erlnag? :-) Или у него другие слабые стороны?</span><div><span style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br>
</span></div><div><font face="HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif">Энларг с диском тоже не очень дружит, зато с сетью все хорошо, лучше Макса Лапшина пораспрашивать в соотв. рассылке</font></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">24 ноября 2013 г., 10:18 пользователь Андрей П. Ковбович <span dir="ltr"><<a href="mailto:akovbovich@gmail.com" target="_blank">akovbovich@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">><span style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">А если использовать быстрые SSD диски? А если использовать AIO?</span><div>

<br></div></div><div>Не знаю насколько актуальны данные, но примерное латенси можно сравнить тут: <a href="http://norvig.com/21-days.html#answers" target="_blank">http://norvig.com/21-days.html#answers</a><br><div><br></div>
</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">24 ноября 2013 г., 9:40 пользователь ksvs <span dir="ltr"><<a href="mailto:ksvs1996@ymail.com" target="_blank">ksvs1996@ymail.com</a>></span> написал:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div style="font-size:10pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif"><div style="font-style:normal;font-size:13.3333px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif">

<br>То есть простой CPU при обращении к диску будет большем, чем затраты CPU
 на сериализацию данных для отправки в сокет шаблонизатора и чтения 
ответа?<br>А если использовать быстрые SSD диски? А если использовать AIO?<br>Тут цель, чтобы максимально быстро среагировать на запрос или что-бы не простаивал компьютер без полезной нагрузки?<br><br></div><div style="font-style:normal;font-size:13.3333px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif">

P.S.<br>lua внутри nginx? Видал как-то статью про это.<br>А почему не erlnag? :-) Или у него другие слабые стороны?</div><div><div><div style="display:block"> <br> <br> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif;font-size:10pt">

 <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif;font-size:12pt"> <div dir="ltr"> <font face="Arial"> On Friday, 22 November 2013, 17:11, Mons Anderson <<a href="mailto:mons@cpan.org" target="_blank">mons@cpan.org</a>> wrote:<br>

 </font> </div>  <div><br clear="none">On 22.11.2013, at 18:49, ksvs <<a shape="rect" href="mailto:ksvs1996@ymail.com" target="_blank">ksvs1996@ymail.com</a>> wrote:<br clear="none"><br clear="none">> <br clear="none">

> У вас шаблонизатор внешний ресурс?! Это ему по сокету дают, например json, а он возвращает html?<br clear="none"><br clear="none">Да )<br clear="none"><br clear="none">> <br clear="none">> Я думал, что большинство веб-приложений - получил запрос, пообщался с одной базой данных (3-5 запросов), сформировал html и отдал.
 Когда ждем ответы от базы, CPU занят обработкой запросов в других процессах. Да и формирование html по шаблону тяжелая ведь задача (наверно).<br clear="none"><br clear="none">Тут всегда торговля между: CPU распределяет планировщик между процессами vs CPU распределяется внутри одного процесса.<br clear="none">

ШАблонизация на каком-ниубдь xslate это довольно лёгкая (по cpu) задача, но смысл в том, чтоб не заставлять асинхронный процесс обращаться к диску ни при каких обстоятельствах.<br clear="none"><br clear="none">> Думал, что "сходить во внешние ресурсы и применить к
 результатам какую-то простую логику" - это редкие задачи (своя база не в счет). А оказывается наоборот!<br clear="none">> <br clear="none">> А что это "Есть еще пара случаев, когда синхронка хорошо выигрывает у асинхронки, но они довольно редкие и узкоспециализированные"?<br clear="none">

> <br clear="none">> Это я так засомневался, когда к своей мултипроцесной асинхроной штуке, прикрутил нагрузку по анализу скачиваемых html, и увидел, что вариант с 2 двумя рабочими дочерними процессами (у меня два ядра) и с 100 асинхронных сокетов в каждом дает такую же
 производительность, как и вариант с 8 рабочими дочерними синхронными процессами. В общем, узкое место стало CPU.<br clear="none">> <br clear="none">> Кончено, если внешние ресурсы тормозят, то да. Но если они свои, то все быстро.<br clear="none">

<br clear="none">Пока кол-во дочерних процессов у вас небольшое, то планировщик справляется нормально.<br clear="none">А если обслуживать тысячи параллельных запросов, то тут уже планировщик OS проигрывает асинхронному процессу.<br clear="none">

<br clear="none">Не обязательно, чтобы ресурсы тормозили.<br clear="none">Поход по сети куда угодно
 (да даже если это unix сокет) занимает огромное кол-во времени, если считать в тактах cpu.<br clear="none"><br clear="none">> <br clear="none">> В общем, есть пища для размышлений.<br clear="none">> <br clear="none">

> Спасибо.<br clear="none">> <br clear="none">> P.S.<br clear="none">> Хотя, если логика простая, то можно и на более быстром языке делать ее.<br clear="none">> Скорость еще выше будет. :-)<br clear="none">

<br clear="none">В принипе иногда пользуемся lua, но если для перла есть все, что только можно вообразить, то для lua набор весьма бедноват.<br clear="none"><br clear="none">> <br clear="none">> -- <br clear="none">

> Moscow.pm mailing list<br clear="none">> <a shape="rect" href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><div>

<br clear="none"><br clear="none">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a shape="rect" href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><br clear="none">

</div><br><br></div>  </div> </div>  </div> </div></div></div></div><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div></div></div><br></div>
</blockquote></div><br></div>