Вопрос по будущему кэшированию.

Igor Sysoev is at rambler-co.ru
Tue May 6 21:07:23 MSD 2008


On Tue, May 06, 2008 at 07:59:45PM +0300, MZ wrote:

> В вт, 06/05/2008 в 19:39 +0400, Igor Sysoev пишет:
> > On Tue, May 06, 2008 at 06:31:42PM +0300, MZ wrote:
> > 
> > > В вт, 06/05/2008 в 18:36 +0400, Igor Sysoev пишет:
> > > > On Tue, May 06, 2008 at 04:08:33PM +0300, MZ wrote:
> > > > 
> > > > > В вт, 06/05/2008 в 16:20 +0400, Anton Yuzhaninov пишет:
> > > > > > On 06.05.2008 15:51, MZ wrote:
> > > > > > > О какой блокировке идет речь ? nginx же работает с сетью и с фс в
> > > > > > > неблокирующем режиме.
> > > > > > 
> > > > > > С сетью в неблокирующем режиме, а на диске блокируется.
> > > > > Похоже на правду. Я шокирован.
> > > > > 
> > > > > Кто-то может обьяснить в чем причина сего ?
> > > > 
> > > > Причина в том, что неблокирующегося на диске sendfile'а в общем случае нет.
> > > А если рассмотреть случай когда sendfile не используется (выключен) ?
> > > Там то без проблем реализуется неблокирующий ввод/вывод, идеально для
> > > FSM
> > 
> > В смысле aio_read() ? А как получать события о завершении aio-операции ?
> > Во FreeBSD - понятно, через kqueue, а в Линуксе ? Там eventfd только недавно
> > появился.
> Во фре сами aio_* реализованы не фонтан, как девелоперы сами признаются.
> Но с другой стороны, хотя бы опционально же можно использовать aio_* уже
> в том виде что есть - проверять через aio_return, не надо никакие kqueue
> и прочее. Если будет нормальный бонус в производительности (что
> наверняка) и не будет особых проблем с надежностью (тут надо тестить) -
> то это будет использоваться в продакшне.
> А там, глядишь, и девелоперы фри aio_* подлатают...

Ну вот, nginx ждёт в kqueue. Когда он будет вызывать aio_return ?
Нужна единая точка ожидания. Во FreeBSD - это kqueue, в Линуксе недавно
стало можно ждать eventfd в epoll.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list