comparison xml/ru/docs/http/ngx_http_limit_req_module.xml @ 529:d477ae38c0bd

Clarified on what this module actually limits.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 06 Jun 2012 14:17:28 +0000
parents bef9e1a2e3c8
children ebcb351d9eb3
comparison
equal deleted inserted replaced
528:85bbe7a5f393 529:d477ae38c0bd
8 8
9 <section id="summary"> 9 <section id="summary">
10 10
11 <para> 11 <para>
12 Модуль <literal>ngx_http_limit_req_module</literal> (0.7.21) позволяет 12 Модуль <literal>ngx_http_limit_req_module</literal> (0.7.21) позволяет
13 ограничить число запросов 13 ограничить скорость обработки запросов по заданному ключу или,
14 по заданному ключу или, как частный случай, число запросов с одного IP-адреса. 14 как частный случай, скорость обработки запросов, поступающих
15 Ограничение делается с помощью метода “leaky bucket”. 15 с одного IP-адреса.
16 Ограничение обеспечивается с помощью метода “leaky bucket”.
16 </para> 17 </para>
17 18
18 </section> 19 </section>
19 20
20 21
52 <context>server</context> 53 <context>server</context>
53 <context>location</context> 54 <context>location</context>
54 55
55 <para> 56 <para>
56 Задаёт зону (zone) и максимально возможные всплески запросов (burst). 57 Задаёт зону (zone) и максимально возможные всплески запросов (burst).
57 Если скорость запросов превышает описанную в зоне, 58 Если скорость поступления запросов превышает описанную в зоне,
58 то их обработка задерживается так, чтобы запросы обрабатывались 59 то их обработка задерживается так, чтобы запросы обрабатывались
59 с заданной скоростью. 60 с заданной скоростью.
60 Избыточные запросы задерживаются до тех пор, пока их число 61 Избыточные запросы задерживаются до тех пор, пока их число
61 не превысит заданное число всплесков. 62 не превысит заданное число всплесков.
62 В этом случае запрос завершается с ошибкой 63 При превышении запрос завершается с ошибкой
63 <http-status code="503" text="Service Temporarily Unavailable"/>. 64 <http-status code="503" text="Service Temporarily Unavailable"/>.
64 По умолчанию число всплесков равно нулю. 65 По умолчанию число всплесков равно нулю.
65 Например, директивы 66 Например, директивы
66 <example> 67 <example>
67 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; 68 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
97 <context>server</context> 98 <context>server</context>
98 <context>location</context> 99 <context>location</context>
99 <appeared-in>0.8.18</appeared-in> 100 <appeared-in>0.8.18</appeared-in>
100 101
101 <para> 102 <para>
102 Задаёт желаемый уровень записи в лог случаев ограничения 103 Задаёт желаемый уровень записи в лог
103 числа запросов и задержек при обработке запроса. 104 случаев отказа в обработке запросов при превышении скорости
104 Задержки записываются в лог с уровнем на единицу меньшим, чем ограничения, 105 и случаев задержек при обработке запроса.
106 Задержки записываются в лог с уровнем на единицу меньшим, чем отказы,
105 например, если указано “<literal>limit_req_log_level notice</literal>”, 107 например, если указано “<literal>limit_req_log_level notice</literal>”,
106 то задержки будут записываться в лог на уровне <literal>info</literal>. 108 то задержки будут записываться в лог на уровне <literal>info</literal>.
107 </para> 109 </para>
108 110
109 </directive> 111 </directive>
118 <context>http</context> 120 <context>http</context>
119 121
120 <para> 122 <para>
121 Задаёт параметры зоны, 123 Задаёт параметры зоны,
122 которая хранит состояние для разных значений ключа. 124 которая хранит состояние для разных значений ключа.
123 Состояние в частности хранит текущее число запросов. 125 Состояние в частности хранит текущее число избыточных запросов.
124 Ключом является любое непустое значение заданной переменной 126 Ключом является любое непустое значение заданной переменной
125 (пустые значения не учитываются). 127 (пустые значения не учитываются).
126 Пример использования: 128 Пример использования:
127 <example> 129 <example>
128 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; 130 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
129 </example> 131 </example>
130 </para> 132 </para>
131 133
132 <para> 134 <para>
133 В данном случае состояния хранятся в зоне “one” размером 10 мегабайт, 135 В данном случае состояния хранятся в зоне “one” размером 10 мегабайт,
134 и средняя скорость запросов для этой зоны не может превышать 136 и средняя скорость обработки запросов для этой зоны не может превышать
135 1 запроса в секунду. 137 1 запроса в секунду.
136 </para> 138 </para>
137 139
138 <para> 140 <para>
139 В качестве ключа используется IP-адрес клиента. 141 В качестве ключа используется IP-адрес клиента.