Re: Embedded perl и асинхронные операции
Maxim Dounin
mdounin на mdounin.ru
Вт Авг 30 16:14:37 UTC 2011
Hello!
On Tue, Aug 30, 2011 at 06:51:49PM +0400, Vladimir Stackov wrote:
> Насколько я понимаю, при use threads и, например, конструкции, async
> {some code}, nginx использует системный вызов clone, создавая новую нить
> внутри воркера и этот воркер всё так-же радостно продолжает обрабатывать
> запросы.
>
> Соответственно, хотелось бы узнать, какие могут быть подводные камни при
> полноценной реализации логики любого веб-приложения, использующего
> некоторые блокирующие операции и комбинацию конструкции async{} (или
> всего богатства возможностей perl threads) и $r->sleep для для ожидания
> выполнения блокирующих операций?
>
> Прекрасно понимаю, что это совсем не айс и для таких целей гораздо
> логичнее использовать быстрый бэкенд, но уж очень нравятся результаты
> некоторых синтетических тестов при сравнении производительности nginx
> +embedded perl vs nginx+backend.
>
> Заранее благодарю за ответы.
Если из перла вызовется что-нибудь не-threadsafe, и оно же
будет вызвано nginx'ом - будет больно.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru