ПРОЕКТЫ 


  АРХИВ 


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: timer_resolution и swi4: clock sio



On Fri, Mar 20, 2009 at 05:56:34PM +0300, Maxim Dounin wrote:

> Hello!
> 
> On Fri, Mar 20, 2009 at 05:13:13PM +0300, Монашёв Михаил wrote:
> 
> > Здравствуйте.
> > 
> > Заметил в top -S , что  swi4: clock sio жрёт много процессора:
> > 
> > 18 root        1 -32    -     0K    16K WAIT   2  17.9H 15.58% swi4: clock 
> > sio
> > 
> > В конфиге nginx-а прописано timer_resolution 100ms;
> > 
> > Когда  закомментил  timer_resolution,  то процесс стал кушать не более
> > процента.
> > 
> > Кроме  того, странным кажется тот факт, что nginx не пишет аксес-логи,
> > для которых как я понимаю создавался timer_resolution.
> > 
> > Может  кто-нить пояснить, как работает timer_resolution и стоит ли его
> > использовать?   Ведь  фактически  сэкономленные  сисколы  меняется  на
> > процессор, скушенный swi4: clock sio.
> 
> При использовании timer_resolution каждый воркер создаёт таймер, 
> тикающий периодически (раз в 100ms в твоём случае) и делает 
> gettimeofday() по этому таймеру.  При не использовании - делает 
> gettimeofday() каждый раз после получения очередной порции событий 
> из ядра.  Полученное время используется много где, в частности - в 
> таймаутах и т.п., далеко не только при записи логов.
> 
> В зависимости от вида нагрузки и количества воркеров эффект от 
> использования timer_resolution может быть разным.  Думаю твоя 
> проблема в количестве воркеров.

Да, твоя фраза "каждый воркер создаёт таймер" натулкнула меня ту же мысль.
1000 воркеров генерят 10000 callout'ов - это уже серьёзно.


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



 




Copyright © Lexa Software, 1996-2009.