Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FreeBSD & Linux disk AIO support
Igor Sysoev пишет:
On Wed, Aug 26, 2009 at 05:08:35PM +0400, Лазовский Вадим wrote:
Igor Sysoev пишет:
On Wed, Aug 26, 2009 at 02:27:13PM +0400, Dmitriy Timokhin wrote:
2009/8/26 Igor Sysoev <is@xxxxxxxxxxxxx>:
Ещё один патч. Должен работать с glibc 2.7.
В src/os/unix/ngx_linux_config.h не хватает #if (NGX_HAVE_EVENTFD2 ||
NGX_HAVE_EVENTFD) .. #endif вокруг #include <sys/eventfd.h>
Если их добавить -- начинает собираться на glibc2.7
В общем, я решил всегда вызывать eventfd() как сискол.
С этим glibc и двумя разными eventfd() один геморрой.
Патч.
С последним патчем не собирается, при линковке:
objs/src/core/ngx_output_chain.o: In function `ngx_aio_read_file':
/usr/src/nginx-0.8.10/src/core/ngx_output_chain.c:636: undefined
reference to `ngx_file_aio_read'
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/usr/src/nginx-0.8.10'
make: *** [build] Error 2
Новый патч.
Спасибо. С этим патчем все собралось.
Вчера потестировал под линуксом, есть пара вопросов.
Снизил количество воркеров со 100 до 10. Отдача трафика не изменилась
(1600М в пике). Замечу, что 100 - количество с огромным запасом,
осталось со времен, когда было мало памяти и кеш был неэффективен.
1. Как определить, что вообще используется aio? :) В линуксе есть
ядерные нити [aio/N], но они бездействуют.
2. Нормально ли то, что воркеры переходят в состояние D?
|