view xml/ru/docs/events.xml @ 1941:7e983e0199eb

Added note about eventport method stability.
author Yaroslav Zhuravlev <yar@nginx.com>
date Mon, 27 Mar 2017 21:53:14 +0300
parents f024ac0ec5c7
children 4aead463a7e2
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="Методы обработки соединений"
         link="/ru/docs/events.html"
         lang="ru"
         rev="6">

<section>

<para>
nginx поддерживает различные методы обработки соединений.
Наличие того или иного метода зависит от используемой платформы.
Если на платформе доступно сразу несколько методов, nginx обычно
сам выбирает наиболее эффективный метод.
Однако, при необходимости можно явно выбрать метод обработки
соединений с помощью директивы
<link doc="ngx_core_module.xml" id="use"/>.
</para>

<para>
Поддерживаются следующие методы обработки соединений:
<list type="bullet">

<listitem id="select">
<para>
<literal>select</literal>&mdash;стандартный метод.
Модуль для поддержки этого метода собирается автоматически,
если на платформе не обнаружено более эффективного метода.
Можно принудительно разрешить или запретить сборку этого модуля
с помощью параметров <literal>--with-select_module</literal> и
<literal>--without-select_module</literal>.
</para>
</listitem>

<listitem id="poll">
<para>
<literal>poll</literal>&mdash;стандартный метод.
Модуль для поддержки этого метода собирается автоматически,
если на платформе не обнаружено более эффективного метода.
Можно принудительно разрешить или запретить сборку этого модуля
с помощью параметров <literal>--with-poll_module</literal> и
<literal>--without-poll_module</literal>.
</para>
</listitem>

<listitem id="kqueue">
<para>
<literal>kqueue</literal>&mdash;эффективный метод, используемый
во FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 и macOS.
</para>
</listitem>

<listitem id="epoll">
<para>
<literal>epoll</literal>&mdash;эффективный метод, используемый
в Linux 2.6+.
<note>
Флаги <literal>EPOLLRDHUP</literal> (Linux 2.6.17, glibc 2.8)
и <literal>EPOLLEXCLUSIVE</literal> (Linux 4.5, glibc 2.24)
поддерживаются начиная с 1.11.3.
</note>
<note>
В некоторых старых дистрибутивах, например SuSE 8.2,
есть патчи для поддержки epoll ядром 2.4.
</note>
</para>
</listitem>

<listitem id="devpoll">
<para>
<literal>/dev/poll</literal>&mdash;эффективный метод, используемый
в Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+
и Tru64 UNIX 5.1A+.
</para>
</listitem>

<listitem id="eventport">
<para>
<literal>eventport</literal>&mdash;event ports, метод,
используемый в Solaris 10+ (из-за имеющихся проблем вместо него
рекомендуется использовать метод <literal>/dev/poll</literal>).
</para>
</listitem>

</list>
</para>

</section>

</article>