Re[2]: Память на буферы заполучить

Igor Sysoev is at rambler-co.ru
Mon Feb 20 16:49:11 MSK 2006


On Mon, 20 Feb 2006, Anton Maksimenkov wrote:

>>> И ведь не ест он даже близко 131072 * 8 Kб. Картинки читает напрямую
>>> с диска; теперь нету такого, чтобы в biowai все процессы сидели, обмен
>>> с диском примерно 2-3 Кб/с. Вроде бы тут самое место все запрошенные
>>> картинки в буфер в память хапнуть, и потом постепенно знай сливай их
>>> клиенту...
>
>> worker_processes 4;
> Тогда выходит
> # ps ax -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'|grep -v 'grep'
>  PID  PPID USER     %CPU   VSZ WCHAN  COMMAND
> 22548     1 root      0.0   752 pause  nginx: master process /usr/local/sbin/nginx
> 17951 22548 www       0.1 26880 biowai nginx: worker process (nginx)
> 9765 22548 www       0.6 25800 biowai nginx: worker process (nginx)
> 28214 22548 www       0.9 26304 biowai nginx: worker process (nginx)
> 29215 22548 www       0.7 25636 biowai nginx: worker process (nginx)
>
> то есть все они дружно диском занимаются :-) Ну и тормоза сильно
> больше становятся при посещении страничек. Я поставил 16... Хотя
> осталось желание сделать 32. Насколько я помню для IDE дисков
> максимальная отдача идёт при ~40 процессах читателей. 32 плюс
> несколько остальных процессов и системных - получается красиво :-)

Это зависит от ОС, дисков, памяти и прочая. Однозначной цифры 40 нет.

>> http {
>
>>      output_buffers  4 32k;
>>      postpone_output 1460;
>
> Из треда понял, что эти буферы - общие для всех процессов. Сделал
> 4 512к. Отжирается также порядка 15 Мбайт.

Это буфера для одного соединения. Файл читается в 512k буфер за один read.


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





More information about the nginx-ru mailing list