Re: оптимизация модуля: переполнения и блокировки

Maxim Dounin mdounin на mdounin.ru
Вт Ноя 15 14:18:44 UTC 2011


Hello!

On Tue, Nov 15, 2011 at 08:30:50AM -0500, minya wrote:

> Окей. Я немного соврал. Для простоты
> объяснения. На самом деле, у меня не
> файл, а база данных (berkeley db). То есть,
> читаю я не куски из файла, а диапазоны
> записей: спозиционировал курсор и
> вычитываю по одной записи и отдаю их на
> клиента. Как быть в такой ситуации?

Ставить собственный обработчик на событие записи клиенту, и 
следить за отправкой буферов самостоятельно.  Из обработчика 
запроса возвращать NGX_DONE.

Пример, как это делается, можно посмотреть в модулях работы с 
бекендами + в инфраструктуре upstream, которую они используют.  
Там, правда, много и не совсем тривиально, ну да и задача не 
совсем тривиальная.

Maxim Dounin



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