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	Thu Feb 09 06:45:43 2012 +0000
+++ b/xml/en/docs/http/ngx_http_proxy_module.xml	Fri Feb 10 13:27:50 2012 +0000
@@ -60,14 +60,18 @@
 <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 @@
 </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 @@
 </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 @@
 </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 @@
 
 <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	Thu Feb 09 06:45:43 2012 +0000
+++ b/xml/ru/docs/http/ngx_http_proxy_module.xml	Fri Feb 10 13:27:50 2012 +0000
@@ -59,14 +59,18 @@
 <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 @@
 </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 @@
 </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 @@
 </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 @@
 <context>location</context>
 
 <para>
-Задаёт имя каталога для хранения временных файлов,
-полученных от другого сервера.
+Задаёт имя каталога для хранения временных файлов с данными,
+полученными от проксируемых серверов.
 В каталоге может использоваться иерархия подкаталогов до трёх уровней.
 Например, при такой конфигурации
 <example>