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