Re: timer_resolution и swi4: clock sio

Монашёв Михаил postmaster at softsearch.ru
Fri Mar 20 20:15:29 MSK 2009


Здравствуйте, Игорь.

А если имеет ли смысл поменять kern.timecounter.hardware с ACPI-fast
на i8254? Точность уменьшится, но зато возможно получение времени
станет быстрее. Или лучше с этим не экспериментировать?

>> > Заметил в 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'ов - это уже серьёзно.





-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.






More information about the nginx-ru mailing list