worker_processes

Sergey Smitienko hunter at comsys.com.ua
Fri Jul 1 13:35:31 MSD 2005


Andrey Y. Ostanovsky wrote:

>On Fri, Jul 01, 2005 at 10:18:46AM +0300, Andrew Sitnikov wrote:
>
>  
>
>>VK> Да, но очень не хочется плодить сущности (я имею ввиду squid).
>>VK> Если есть возможность покрутить переменные в nginx-е - лучше конечно было бы сделать так.
>>вы вообще чего там крутить хотите ? не совсем понятно про что вы вообще говорите
>>    
>>
>
>Начнем с начала.:) Игорь утверждает, что запрашиваемые статические картинки операционная система хранит в памяти. Мне _кажется_, что nginx читает их с диска. Есть ли какие-то инструментальные методы, позволяющие подтвердить или опровергнуть эти утверждения?
>
>По топу я вижу, что большое количество памяти куда-то используется:
>
>last pid:  8534;  load averages:  1.35,  1.52,  1.55     up 0+10:07:01  11:54:45
>50 processes:  1 running, 49 sleeping
>CPU states: 11.7% user,  0.0% nice,  2.3% system,  2.3% interrupt, 83.6% idle
>Mem: 481M Active, 1225M Inact, 190M Wired, 92M Cache, 112M Buf, 14M Free
>                 ^^^^^^^^^^^^^^^
>Swap: 2021M Total, 2021M Free
>  
>
Inactive -  pages not actively used by programs which are dirty and (at 
some point) need to be written to their backing store (typically disk).
Это кэш грязных страниц. Сюда попадает вся память, которая содержит 
редко модифицируемые данные - скорее всего это данные твоей mysql.
Cache / Buf - вот это уже дисковые кэши. Как я понимаю, при sendfile 
данные качаются именно отсюда. Проблема в том, что mysql тоже является
активным потребителем дискового кэша, он тоже сам ничего не кэширует 
считая что ядро само разберется. Если размер базы данных + размер
картинок больше дискового кэша, то получается лажа.

Вот картина с реального сервера: 144M  картинок, 192M база данных. 
Катринки отдаются nginx-ом, остальное проксится на back-end
(apache, php, mysql). Удалось сбалансировать прожорливость php/mysql - в 
результате имеем 135 мегабайт свободной памяти. Я думаю имнно этот
показатель следует использовать  для  демонстрации  эфективной работы  
дискового  кэша.

last pid:  6072;  load averages:  0.27,  0.39,  0.39  up 69+12:07:34  
12:22:10
82 processes:  1 running, 81 sleeping
CPU states:  2.9% user,  0.2% nice,  1.0% system,  0.4% interrupt, 95.5% 
idle
Mem: 515M Active, 982M Inact, 300M Wired, 79M Cache, 199M Buf, 135M Free
Swap: 1024M Total, 216K Used, 1024M Free

-- 
Sergey Smitienko






More information about the nginx-ru mailing list