Welcome! Log In Create A New Profile

Advanced

Re: NXWEB и nginx

Yaroslav
December 05, 2011 08:12PM
2011/12/6 Denis F. Latypoff <latypoff@yandex.ru>

> 06.12.2011, 02:32, "Yaroslav" <yarosla@gmail.com>:
> > 2011/12/5 Igor Sysoev <igor@sysoev.ru>
> >> Не факт, что edge triggered в том чистом виде, как он реализован в epoll
> >> лучше level triggered. Например, если на момент добавления сокета в
> epoll
> >> данные уже есть в сокете, то edge triggered epoll про них не раскажет.
> >> Приходится делать лишний read после добавления. Кроме того, есть и
> просто
> >> ошибка реализации edge triggered, когда нужно делать read до получения
> >> EAGAIN, иначе можно пропустить EOF.
> >>
> >> А вот EV_CLEAR в kqueue сделан явно с применением мозга.
> > Автор libev тоже не очень лестно высказывается насчет epoll. В частности
> он пишет об ошибках в его работе:
> >> The epoll mechanism deserves honorable mention as the most misdesigned
> of the more advanced event mechanisms: mere annoyances include silently
> dropping file descriptors, requiring a system call per change per file
> descriptor (and unnecessary guessing of parameters), problems with dup,
> returning before the timeout value, resulting in additional iterations (and
> only giving 5ms accuracy while select on the same platform gives 0.1ms) and
> so on. Epoll is also notoriously buggy - embedding epoll fds should work,
> but of course doesn't, and epoll just loves to report events for totally
> different file descriptors (even already closed ones, so one cannot even
> remove them from the set) than registered in the set (especially on SMP
> systems). Epoll also erroneously rounds down timeouts, but gives you no way
> to know when and by how much, so sometimes you have to busy-wait because
> epoll returns immediately despite a nonzero timeout. And last not least, it
> also refuses to work with some file descriptors which work perfectly fine
> with select (files, many character devices...).
> > Хотелось бы узнать по Вашему опыту, такие проблемы действительно имеют
> место? Или может они исправлены в более свежих версиях ядра?
> >
>
> Да дело даже не в том, что еполл на каких-то ядрах недозапилен,
> а в том, что libev by design таков, что не позволяет использовать
> нестандартные фичи event-движков ядра. То есть если во фре,
> например, можно узнать об EOF прямо из kqueue, то с libev на той
> же фре - только через дополнительный read, который вернет -1
> и установит errno в EAGAIN. libev использует только базовые
> механизмы, в то время как nginx все прелести event-движков
> с целью уменьшения кол-ва передергивания контекста.
>
>
Про libev я все понял. Знал про отсутствие поддержки ET изначально. Но мой
вопрос сейчас не про libev, а про epoll. Понимаю также, что kqueue более
продвинут, но у меня Linux.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

NXWEB и nginx

Михаил Монашёв December 02, 2011 05:22AM

Re: NXWEB и nginx

Валентин Бартенев December 02, 2011 05:28AM

Re: NXWEB и nginx

Igor Sysoev December 02, 2011 05:30AM

Re[2]: NXWEB и nginx

Михаил Монашёв December 03, 2011 11:50AM

Re: Re[2]: NXWEB и nginx

Alexandr Gomoliako December 03, 2011 12:04PM

Re[4]: NXWEB и nginx

Михаил Монашёв December 03, 2011 01:20PM

Re: Re[2]: NXWEB и nginx

Valery Kholodkov December 04, 2011 05:48AM

Re: NXWEB и nginx

Andrey N. Oktyabrski December 04, 2011 06:24AM

Re: NXWEB и nginx

Valery Kholodkov December 04, 2011 08:50AM

Re: NXWEB и nginx

Andrey N. Oktyabrski December 04, 2011 12:52PM

Re[4]: NXWEB и nginx

Михаил Монашёв December 04, 2011 08:54AM

Re: Re[4]: NXWEB и nginx

Valery Kholodkov December 04, 2011 09:32AM

Re[6]: NXWEB и nginx

Михаил Монашёв December 04, 2011 09:44AM

Re: Re[6]: NXWEB и nginx

Valery Kholodkov December 04, 2011 11:40AM

Re: Re[6]: NXWEB и nginx

Alexandr Gomoliako December 04, 2011 11:48AM

Re[8]: NXWEB и nginx

Михаил Монашёв December 04, 2011 03:58PM

Re: NXWEB и nginx

Yaroslav December 04, 2011 04:20PM

Re: NXWEB и nginx

Denis F. Latypoff December 04, 2011 09:42AM

Re: NXWEB и nginx

Igor Sysoev December 05, 2011 04:16AM

Re: NXWEB и nginx

Yaroslav December 05, 2011 02:34PM

Re: NXWEB и nginx

Yaroslav December 05, 2011 03:52PM

Re: NXWEB и nginx

Oleksandr V. Typlyns'kyi December 05, 2011 03:58PM

Re: NXWEB и nginx

Alexandr Gomoliako December 05, 2011 04:02PM

Re: NXWEB и nginx

Yaroslav December 05, 2011 04:28PM

Re: NXWEB и nginx

Denis F. Latypoff December 05, 2011 08:04PM

Re: NXWEB и nginx

Yaroslav December 05, 2011 08:12PM

Re: NXWEB и nginx

Denis F. Latypoff December 05, 2011 08:24PM

Re: NXWEB и nginx

Alexandr Gomoliako December 05, 2011 08:42PM

Re: NXWEB и nginx

Yaroslav December 02, 2011 05:58AM

Re[2]: NXWEB и nginx

Михаил Монашёв December 02, 2011 07:24AM

Re[2]: NXWEB и nginx

Михаил Монашёв December 02, 2011 07:44AM

Re[2]: NXWEB nginx

Andrey Repin December 02, 2011 08:52AM

Re: Re[2]: NXWEB É nginx

Rush December 03, 2011 05:38AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 222
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready