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