Mercurial > hg > nginx-site
view xml/ru/docs/events.xml @ 292:7bc830cc79bb
Revision.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Wed, 28 Dec 2011 18:59:45 +0000 |
parents | 4c6d2c614d2c |
children | 6135f3c95bf6 |
line wrap: on
line source
<!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> <article name="Методы обработки соединений" link="/ru/docs/events.html" lang="ru"> <section> <para> nginx поддерживает следующие методы обработки соединений, которые можно задать директивой <link doc="ngx_core_module.xml" id="use"/>: <list> <listitem> <para> <literal>select</literal>—стандартный метод. Модуль для поддержки этого метода собирается автоматически, если на платформе не обнаружено более эффективного метода. Можно принудительно разрешить или запретить сборку этого модуля с помощью параметров <literal>--with-select_module</literal> или <literal>--without-select_module</literal>. </para> </listitem> <listitem> <para> <literal>poll</literal>—стандартный метод. Модуль для поддержки этого метода собирается автоматически, если на платформе не обнаружено более эффективного метода. Можно принудительно разрешить или запретить сборку этого модуля с помощью параметров <literal>--with-poll_module</literal> или <literal>--without-poll_module</literal>. </para> </listitem> <listitem> <para> <literal>kqueue</literal>—эффективный метод, используемый во FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 и MacOS X. На двух-процессорных машинах под управлением MacOS X использование kqueue может привести к kernel panic. </para> </listitem> <listitem> <para> <literal>epoll</literal>—эффективный метод, используемый в Linux 2.6+. В некоторых дистрибутивах, например <nobr>SuSE 8.2,</nobr> есть патчи для поддержки epoll ядром 2.4. </para> </listitem> <listitem> <para> <literal>rtsig</literal>—real time signals, эффективный метод, используемый в Linux 2.2.19+. По умолчанию в очереди может находиться не более 1024 сигналов для всей системы. Этого недостаточно для нагруженных серверов, поэтому нужно увеличить размер очереди с помощью параметра ядра <path>/proc/sys/kernel/rtsig-max</path>. Однако, начиная с Linux 2.6.6-mm2, этого параметра уже нет и для каждого процесса существует отдельная очередь сигналов, размер которой задаётся с помощью RLIMIT_SIGPENDING. </para> <para> При переполнении очереди nginx сбрасывает её и начинает обрабатывать соединения с помощью метода poll до тех пор, пока ситуация не нормализуется. </para> </listitem> <listitem> <para> <literal>/dev/poll</literal>—эффективный метод, используемый в Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ и Tru64 UNIX 5.1A+. </para> </listitem> <listitem> <para> <literal>eventport</literal>—event ports, эффективный метод, используемый в Solaris 10. Во избежания kernel panic, нужно установить <link url="http://sunsolve.sun.com/search/document.do?assetkey=1-26-102485-1">патч</link>. </para> </listitem> </list> </para> </section> </article>