ПРОЕКТЫ 


  АРХИВ 


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: Кеширован? ?е: размер и количество в настро??ках буфер?? в



Hello!

On Wed, Oct 21, 2009 at 11:02:56AM -0400, skinc wrote:

> Собственно, задался вопросом как влияет количество и размер буферов в nginx 
> на его производительность и влияет ли вообще при условии одинакового значения 
> выделяемой ими памяти (количество*размер)... Гугл и список рассылки внятного 
> ответа не дал.
> Как видно из документации, дефолтовые значения размера выбираются равными 
> странице памяти для используемой ОС:
> 
> [*] 
> http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_buffer_size
> [*] http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_buffers
> [*] http://sysoev.ru/nginx/docs/http/ngx_http_gzip_module.html#gzip_buffers
> [*] 
> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#large_client_header_buffers
> 
> в то время, как в рассылке часто попадается пример с "proxy_buffers 16 
> 32k;"...
> А в чем разница? По какой причине, например, для ОС с размером страницы в 4к, 
> дефолтно в proxy_buffers используется 8 буферов по 4к, а не 4 по 8к или 2 по 
> 16к?
> Собственно, что лучше "proxy_buffers 8 32k;" или "proxy_buffers 64 4k;"? И 
> почему?

Ответа на этот вопрос не существует.  Всё зависит от задачи.

1. Много маленьких буферов означает, что память будет 
расходываться экономнее.  Скажем, для ответа размером 5k в первом 
случае будет выделено 32k, во втором - 8k.

2. Большие буфера требуют чуть-чуть меньше процессора на их 
обработку и с меньшей вероятностью приводят к неполным ip-пакетам 
уходящим в сеть.

3. Если где-то по дороге возникает общение с диском (типичный 
случай - раздача больших файлов и настройка output_buffers, 
proxy_buffers будет влиять на буферизацию на диск/запись в кеш), 
то большие буфера позволяют уменьшить количество seek'ов, что 
существенно сказывается на производительности.

Решайте что именно для вас важнее/во что вы упираетесь, и 
настраивайте соответственно.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.