[Moscow.pm] Moscow.pm party: доклад-реквесты

ksvs ksvs1996 на ymail.com
Пт Ноя 22 06:49:22 PST 2013



У вас шаблонизатор внешний ресурс?! Это ему по сокету дают, например json, а он возвращает html?

Я думал, что большинство веб-приложений - получил запрос, пообщался с одной базой данных (3-5 запросов), сформировал html и отдал. Когда ждем ответы от базы, CPU занят обработкой запросов в других процессах. Да и формирование html по шаблону тяжелая ведь задача (наверно).

Думал, что "сходить во внешние ресурсы и применить к результатам какую-то простую логику" - это редкие задачи (своя база не в счет). А оказывается наоборот!

А что это "Есть еще пара случаев, когда синхронка хорошо выигрывает у асинхронки, но они довольно редкие и узкоспециализированные"?

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

Кончено, если внешние ресурсы тормозят, то да. Но если они свои, то все быстро.

В общем, есть пища для размышлений.

Спасибо.

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



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