ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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 Thu, Aug 27, 2009 at 11:18:09AM +0400, Igor Sysoev wrote:

On Thu, Aug 27, 2009 at 10:54:10AM +0400, Лазовский Вадим wrote:

Igor Sysoev пишет:

Вчера потестировал под линуксом, есть пара вопросов.

Снизил количество воркеров со 100 до 10. Отдача трафика не изменилась (1600М в пике). Замечу, что 100 - количество с огромным запасом, осталось со времен, когда было мало памяти и кеш был неэффективен.

1. Как определить, что вообще используется aio? :) В линуксе есть ядерные нити [aio/N], но они бездействуют.
Не знаю. Во FreeBSD - по sysctl vfs.aio и wchan воркеров и aiodN.
А в Линуксе - не знаю. Я смотрел по отладочному логу.

2. Нормально ли то, что воркеры переходят в состояние D?
Насколько я понимаю, нет - в D должны быть aio/N.
Файлы большие или нет ? Если небольшие, то, по-видимому, из-за того,
что AIO в Линуксе работает только совместно с O_DIRECT, по сути сисколы
AIO работают синхронно.

Забыл указать ещё один момент: нужно ещё выключать sendfile:

   location / {
      sendfile        off;
      aio             on;
      directio        128k;
      output_buffers  1 128k;

Сейчас похоже, всё отдавалось sendfile()ом.



Посыпалось вот такое:

2009/08/27 14:50:13 [alert] 14152#0: io_getevents() did not return 18446744073709551615 events
2009/08/27 14:50:13 [alert] 14152#0: io_getevents() did not return 1 events
2009/08/27 14:52:33 [alert] 14155#0: io_getevents() did not return 18446744073709551615 events
2009/08/27 14:52:33 [alert] 14155#0: io_getevents() did not return 1 events
2009/08/27 14:54:39 [alert] 14155#0: io_getevents() did not return 18446744073709551615 events
2009/08/27 14:54:39 [alert] 14155#0: io_getevents() did not return 1 events




 




Copyright © Lexa Software, 1996-2009.