comparison xml/ru/docs/http/ngx_http_core_module.xml @ 1432:9012d7935c9b

Documented that "aio sendfile" is deprecated. This also made it possible to move the description of sendfile() pre-loading from "aio" to "sendfile".
author Ruslan Ermilov <ru@nginx.com>
date Tue, 17 Mar 2015 09:18:35 +0300
parents 0eb8e261f349
children 2333e08e277d
comparison
equal deleted inserted replaced
1431:c4ca69d3e552 1432:9012d7935c9b
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9 9
10 <module name="Модуль ngx_http_core_module" 10 <module name="Модуль ngx_http_core_module"
11 link="/ru/docs/http/ngx_http_core_module.html" 11 link="/ru/docs/http/ngx_http_core_module.html"
12 lang="ru" 12 lang="ru"
13 rev="37"> 13 rev="38">
14 14
15 <section id="directives" name="Директивы"> 15 <section id="directives" name="Директивы">
16 16
17 <directive name="aio"> 17 <directive name="aio">
18 <syntax> 18 <syntax>
19 <literal>on</literal> | 19 <literal>on</literal> |
20 <literal>off</literal> | 20 <literal>off</literal></syntax>
21 <literal>sendfile</literal></syntax>
22 <default>off</default> 21 <default>off</default>
23 <context>http</context> 22 <context>http</context>
24 <context>server</context> 23 <context>server</context>
25 <context>location</context> 24 <context>location</context>
26 <appeared-in>0.8.11</appeared-in> 25 <appeared-in>0.8.11</appeared-in>
27 26
28 <para> 27 <para>
29 Разрешает или запрещает использование файлового асинхронного ввода-вывода (AIO) 28 Разрешает или запрещает использование файлового асинхронного ввода-вывода (AIO)
30 во FreeBSD и Linux. 29 во FreeBSD и Linux:
30 <example>
31 location /video/ {
32 aio on;
33 output_buffers 1 64k;
34 }
35 </example>
31 </para> 36 </para>
32 37
33 <para> 38 <para>
34 Во FreeBSD AIO можно использовать, начиная с FreeBSD&nbsp;4.3. 39 Во FreeBSD AIO можно использовать, начиная с FreeBSD&nbsp;4.3.
35 AIO можно либо собрать в ядре статически: 40 AIO можно либо собрать в ядре статически:
71 </note> 76 </note>
72 </para> 77 </para>
73 --> 78 -->
74 79
75 <para> 80 <para>
76 Для работы AIO на FreeBSD нужно выключить
77 <link id="sendfile"/>:
78 <example>
79 location /video/ {
80 aio on;
81 sendfile off;
82 output_buffers 1 64k;
83 }
84 </example>
85 </para>
86
87 <para>
88 Кроме того, начиная с FreeBSD&nbsp;5.2.1 и nginx&nbsp;0.8.12, AIO также можно
89 использовать для подгрузки данных для <c-func>sendfile</c-func>:
90 <example>
91 location /video/ {
92 sendfile on;
93 tcp_nopush on;
94 aio sendfile;
95 }
96 </example>
97 В такой конфигурации функция <c-func>sendfile</c-func> вызывается с флагом
98 <c-def>SF_NODISKIO</c-def>, в результате чего она не блокируется на диске, а
99 сообщает об отсутствии данных в памяти.
100 После этого nginx инициирует асинхронную подгрузку данных, читая один байт.
101 При этом ядро FreeBSD подгружает в память первые 128K байт файла, однако
102 при последующих чтениях файл подгружается частями только по 16K.
103 Изменить это можно с помощью директивы
104 <link id="read_ahead"/>.
105 </para>
106
107 <para>
108 В Linux AIO можно использовать только начиная с версии ядра 2.6.22. 81 В Linux AIO можно использовать только начиная с версии ядра 2.6.22.
109 Кроме того, необходимо также дополнительно включить 82 Кроме того, необходимо также дополнительно включить
110 <link id="directio"/>, 83 <link id="directio"/>,
111 иначе чтение будет блокирующимся: 84 иначе чтение будет блокирующимся:
112 <example> 85 <example>
140 sendfile on; 113 sendfile on;
141 aio on; 114 aio on;
142 directio 8m; 115 directio 8m;
143 } 116 }
144 </example> 117 </example>
118 </para>
119
120 <para>
121 См. также директиву <link id="sendfile"/>.
145 </para> 122 </para>
146 123
147 </directive> 124 </directive>
148 125
149 126
2201 <para> 2178 <para>
2202 Разрешает или запрещает использовать 2179 Разрешает или запрещает использовать
2203 <c-func>sendfile</c-func>. 2180 <c-func>sendfile</c-func>.
2204 </para> 2181 </para>
2205 2182
2183 <para>
2184 Начиная с nginx&nbsp;0.8.12 и FreeBSD&nbsp;5.2.1,
2185 можно использовать <link id="aio"/> для подгрузки данных
2186 для <c-func>sendfile</c-func>:
2187 <example>
2188 location /video/ {
2189 sendfile on;
2190 tcp_nopush on;
2191 aio on;
2192 }
2193 </example>
2194 В такой конфигурации функция <c-func>sendfile</c-func> вызывается с флагом
2195 <c-def>SF_NODISKIO</c-def>, в результате чего она не блокируется на диске, а
2196 сообщает об отсутствии данных в памяти.
2197 После этого nginx инициирует асинхронную подгрузку данных, читая один байт.
2198 При этом ядро FreeBSD подгружает в память первые 128K байт файла, однако
2199 при последующих чтениях файл подгружается частями только по 16K.
2200 Изменить это можно с помощью директивы
2201 <link id="read_ahead"/>.
2202 <note>
2203 До версии 1.7.11 подгрузка данных включалась с помощью
2204 <literal>aio sendfile;</literal>.
2205 </note>
2206 </para>
2207
2206 </directive> 2208 </directive>
2207 2209
2208 2210
2209 <directive name="sendfile_max_chunk"> 2211 <directive name="sendfile_max_chunk">
2210 2212