comparison xml/ru/docs/http/ngx_http_core_module.xml @ 1430:0eb8e261f349

AIO: clarified the use of both AIO and sendfile on Linux. While here, commented out a note about using AIO module on older versions of FreeBSD.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 05 Mar 2015 18:56:18 +0300
parents 7261e621dd4a
children 9012d7935c9b
comparison
equal deleted inserted replaced
1429:06322891b4e3 1430:0eb8e261f349
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="36"> 13 rev="37">
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>
40 <example> 40 <example>
41 kldload aio 41 kldload aio
42 </example> 42 </example>
43 </para> 43 </para>
44 44
45 <!--
45 <para> 46 <para>
46 В версиях FreeBSD 5 и 6 включение AIO статически или динамически 47 В версиях FreeBSD 5 и 6 включение AIO статически или динамически
47 на стадии загрузки ядра приводит к тому, что вся сетевая подсистема 48 на стадии загрузки ядра приводит к тому, что вся сетевая подсистема
48 будет использовать блокировку Giant, что может негативно сказаться на 49 будет использовать блокировку Giant, что может негативно сказаться на
49 производительности системы в целом. 50 производительности системы в целом.
67 для работы с сокетами. 68 для работы с сокетами.
68 Но поскольку nginx использует AIO только для работы с диском, 69 Но поскольку nginx использует AIO только для работы с диском,
69 то проблем не возникает. 70 то проблем не возникает.
70 </note> 71 </note>
71 </para> 72 </para>
72 73 -->
73 <para> 74
74 Для работы AIO нужно выключить 75 <para>
76 Для работы AIO на FreeBSD нужно выключить
75 <link id="sendfile"/>: 77 <link id="sendfile"/>:
76 <example> 78 <example>
77 location /video/ { 79 location /video/ {
80 aio on;
78 sendfile off; 81 sendfile off;
79 aio on;
80 output_buffers 1 64k; 82 output_buffers 1 64k;
81 } 83 }
82 </example> 84 </example>
83 </para> 85 </para>
84 86
123 на границу 512 байт (или 4К для XFS). 125 на границу 512 байт (или 4К для XFS).
124 Невыравненный конец файла будет читаться блокированно. 126 Невыравненный конец файла будет читаться блокированно.
125 То же относится к запросам с указанием диапазона запрашиваемых байт 127 То же относится к запросам с указанием диапазона запрашиваемых байт
126 (byte-range requests) и к запросам FLV не с начала файла: чтение 128 (byte-range requests) и к запросам FLV не с начала файла: чтение
127 невыравненных начала и конца ответа будет блокирующимся. 129 невыравненных начала и конца ответа будет блокирующимся.
128 Явно выключать 130 </para>
129 <link id="sendfile"/> 131
130 не нужно, так как при использовании 132 <para>
131 <link id="directio"/> 133 При одновременном включении AIO и <link id="sendfile"/> в Linux
132 он выключается автоматически. 134 для файлов, размер которых больше либо равен указанному
135 в директиве <link id="directio"/>, будет использоваться AIO,
136 а для файлов меньшего размера
137 или при выключенном <link id="directio"/> — <link id="sendfile"/>:
138 <example>
139 location /video/ {
140 sendfile on;
141 aio on;
142 directio 8m;
143 }
144 </example>
133 </para> 145 </para>
134 146
135 </directive> 147 </directive>
136 148
137 149