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
|