Embedded perl и асинхронные операции

Vladimir Stackov amigo на lnetw.ru
Вт Авг 30 14:51:49 UTC 2011


Насколько я понимаю, при use threads и, например, конструкции, async
{some code}, nginx использует системный вызов clone, создавая новую нить
внутри воркера и этот воркер всё так-же радостно продолжает обрабатывать
запросы.

Соответственно, хотелось бы узнать, какие могут быть подводные камни при
полноценной реализации логики любого веб-приложения, использующего
некоторые блокирующие операции и комбинацию конструкции async{} (или
всего богатства возможностей perl threads) и $r->sleep для для ожидания
выполнения блокирующих операций?

Прекрасно понимаю, что это совсем не айс и для таких целей гораздо
логичнее использовать быстрый бэкенд, но уж очень нравятся результаты
некоторых синтетических тестов при сравнении производительности nginx
+embedded perl vs nginx+backend.

Заранее благодарю за ответы.

-- 
Best regards,
Vladimir



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