Mercurial > hg > nginx-site
changeset 405:781b23ba3b0a
Documented the following directives: proxy_busy_buffers_size,
proxy_max_temp_file_size, and proxy_temp_file_write_size.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 10 Feb 2012 13:27:50 +0000 |
parents | 1bd794e9cea4 |
children | 98dac2bd7598 |
files | xml/en/docs/http/ngx_http_proxy_module.xml xml/ru/docs/http/ngx_http_proxy_module.xml |
diffstat | 2 files changed, 145 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/docs/http/ngx_http_proxy_module.xml +++ b/xml/en/docs/http/ngx_http_proxy_module.xml @@ -60,14 +60,18 @@ It can be made smaller however. <context>location</context> <para> -Enables or disables buffering a response from the proxied server. +Enables or disables buffering of responses from the proxied server. </para> <para> When buffering is enabled, nginx receives a response from the proxied server as soon as possible, saving it into buffers set by the <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives. -If the whole response does not fit into memory, part of it is saved to a disk. +If the whole response does not fit into memory, part of it can be saved +to a <link id="proxy_temp_path">temporary file</link> on disk. +Writes to temporary files are controlled by the +<link id="proxy_max_temp_file_size"/> and +<link id="proxy_temp_file_write_size"/> directives. </para> <para> @@ -99,6 +103,27 @@ This is either 4K or 8K, depending on a </directive> +<directive name="proxy_busy_buffers_size"> +<syntax><value>size</value></syntax> +<default>8k|16k</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +When <link id="proxy_buffering">buffering</link> of responses from the proxied +server is enabled, limits the total <value>size</value> of buffers that +can be busy sending a response to the client while the response is not +yet fully read. +In the mean time, the rest of the buffers can be used for reading a response +and, if needed, buffering part of a response to a temporary file. +By default, <value>size</value> is limited by two buffers set by the +<link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives. +</para> + +</directive> + + <directive name="proxy_cache"> <syntax><value>zone</value> | <literal>off</literal></syntax> <default>off</default> @@ -442,6 +467,30 @@ using the <link doc="ngx_http_core_modul </directive> +<directive name="proxy_max_temp_file_size"> +<syntax><value>size</value></syntax> +<default>1024m</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +When <link id="proxy_buffering">buffering</link> of responses from the proxied +server is enabled, and the whole response does not fit into memory buffers +set by the <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> +directives, part of a response can be saved to a temporary file. +This directive sets the maximum <value>size</value> of a temporary file. +The size of data written to a temporary file at a time is set +by the <link id="proxy_temp_file_write_size"/> directive. +</para> + +<para> +Value of zero disables buffering of responses to temporary files. +</para> + +</directive> + + <directive name="proxy_next_upstream"> <syntax> <literal>error</literal> | @@ -984,6 +1033,26 @@ proxy_store_access group:rw all:r; </directive> +<directive name="proxy_temp_file_write_size"> +<syntax><value>size</value></syntax> +<default>8k|16k</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +Limits the <value>size</value> of data written to a temporary file +at a time, when buffering of responses from the proxied server +to temporary files is enabled. +By default, <value>size</value> is limited by two buffers set by the +<link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives. +The maximum size of a temporary file is set by the +<link id="proxy_max_temp_file_size"/> directive. +</para> + +</directive> + + <directive name="proxy_temp_path"> <syntax> <value>path</value> @@ -997,7 +1066,7 @@ proxy_store_access group:rw all:r; <para> Defines a directory for storing temporary files -received from another server. +with data received from proxied servers. Up to three-level subdirectory hierarchy can be used underneath the specified directory. For example, in the following configuration
--- a/xml/ru/docs/http/ngx_http_proxy_module.xml +++ b/xml/ru/docs/http/ngx_http_proxy_module.xml @@ -59,14 +59,18 @@ location / { <context>location</context> <para> -Разрешает или запрещает использовать буферизацию ответа проксируемого сервера. +Разрешает или запрещает использовать буферизацию ответов проксируемого сервера. </para> <para> Если буферизация включена, то nginx принимает ответ проксируемого сервера как можно быстрее, сохраняя его в буферы, заданные директивами <link id="proxy_buffer_size"/> и <link id="proxy_buffers"/>. -Если ответ не вмещается целиком в память, то его часть записывается на диск. +Если ответ не вмещается целиком в память, то его часть может быть записана +на диск во <link id="proxy_temp_path">временный файл</link>. +Запись во временные файлы контролируется директивами +<link id="proxy_max_temp_file_size"/> и +<link id="proxy_temp_file_write_size"/>. </para> <para> @@ -98,6 +102,27 @@ nginx не пытается считать весь ответ проксируемого сервера. </directive> +<directive name="proxy_busy_buffers_size"> +<syntax><value>размер</value></syntax> +<default>8k|16k</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +При включённой <link id="proxy_buffering">буферизации</link> ответов +проксируемого сервера, ограничивает суммарный <value>размер</value> +буферов, которые могут быть заняты для отправки ответа клиенту, пока +ответ ещё не прочитан целиком. +Оставшиеся буферы тем временем могут использоваться для чтения ответа +и, при необходимости, буферизации части ответа во временный файл. +По умолчанию <value>размер</value> ограничен двумя буферами, заданными +директивами <link id="proxy_buffer_size"/> и <link id="proxy_buffers"/>. +</para> + +</directive> + + <directive name="proxy_cache"> <syntax><value>зона</value> | <literal>off</literal></syntax> <default>off</default> @@ -439,6 +464,30 @@ nginx не передаёт клиенту поля заголовка <header>Date</header>, </directive> +<directive name="proxy_max_temp_file_size"> +<syntax><value>размер</value></syntax> +<default>1024m</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +Если включена <link id="proxy_buffering">буферизация</link> ответов +проксируемого сервера, и ответ не вмещается целиком в буферы памяти, +заданные директивами <link id="proxy_buffer_size"/> и +<link id="proxy_buffers"/>, часть ответа может быть записана во временный файл. +Эта директива задаёт максимальный <value>размер</value> временного файла. +Размер данных, сбрасываемых во временный файл за один раз, задаётся +директивой <link id="proxy_temp_file_write_size"/>. +</para> + +<para> +Значение 0 отключает возможность буферизации ответов во временные файлы. +</para> + +</directive> + + <directive name="proxy_next_upstream"> <syntax> <literal>error</literal> | @@ -983,6 +1032,26 @@ proxy_store_access group:rw all:r; </directive> +<directive name="proxy_temp_file_write_size"> +<syntax><value>размер</value></syntax> +<default>8k|16k</default> +<context>http</context> +<context>server</context> +<context>location</context> + +<para> +Ограничивает <value>размер</value> данных, сбрасываемых во временный файл +за один раз, при включённой буферизации ответов проксируемого сервера +во временные файлы. +По умолчанию <value>размер</value> ограничен двумя буферами, заданными +директивами <link id="proxy_buffer_size"/> и <link id="proxy_buffers"/>. +Максимальный размер временного файла задаётся директивой +<link id="proxy_max_temp_file_size"/>. +</para> + +</directive> + + <directive name="proxy_temp_path"> <syntax> <value>путь</value> @@ -995,8 +1064,8 @@ proxy_store_access group:rw all:r; <context>location</context> <para> -Задаёт имя каталога для хранения временных файлов, -полученных от другого сервера. +Задаёт имя каталога для хранения временных файлов с данными, +полученными от проксируемых серверов. В каталоге может использоваться иерархия подкаталогов до трёх уровней. Например, при такой конфигурации <example>