Eventports

Someone on nginx blogged about this…
http://letsgetdugg.com/view/Nginx_hidden_performance_option

Wondering what OSes would benefit from this? and at what point would
it help to turn on, or should it be on always, or should it never be
on unless you plan on doing X connections per second?

Thanks

On Fri, Aug 22, 2008 at 10:33:50PM -0700, mike wrote:

Someone on nginx blogged about this…
http://letsgetdugg.com/view/Nginx_hidden_performance_option

Wondering what OSes would benefit from this? and at what point would
it help to turn on, or should it be on always, or should it never be
on unless you plan on doing X connections per second?

The eventport method is available since 0.4.3:

Changes with nginx 0.4.3 26 Sep
2006

*) Feature: the Solaris 10 event ports support.

It can be used on modern Solarises only. The similar methods are
kqueue (FreeBSD, MacOSX, NetBSD, OpenBSD) and epoll (Linux).

However, event ports have (or may be already had) some bugs: one of them
leads to panic, another stops accepting connections. This is the reason
why on Solaris nginx uses /dev/poll method as the best one.

Ya, I learned that the hard way. Our production nginx server stopped
accepting connections after a day of use. I might need to look into
improving eventports support on solaris.

-Victor

Igor S. wrote:

On Fri, Aug 22, 2008 at 10:33:50PM -0700, mike wrote:

Someone on nginx blogged about this…
http://letsgetdugg.com/view/Nginx_hidden_performance_option

Wondering what OSes would benefit from this? and at what point would
it help to turn on, or should it be on always, or should it never be
on unless you plan on doing X connections per second?

The eventport method is available since 0.4.3:

Changes with nginx 0.4.3 26 Sep
2006

*) Feature: the Solaris 10 event ports support.

It can be used on modern Solarises only. The similar methods are
kqueue (FreeBSD, MacOSX, NetBSD, OpenBSD) and epoll (Linux).

However, event ports have (or may be already had) some bugs: one of them
leads to panic, another stops accepting connections. This is the reason
why on Solaris nginx uses /dev/poll method as the best one.

On Wed, Aug 27, 2008 at 08:12:22AM +0200, Victor I. wrote:

Ya, I learned that the hard way. Our production nginx server stopped
accepting connections after a day of use. I might need to look into
improving eventports support on solaris.

On the basis of I saw in debug log this is Solaris bug: nginx always
registers an event on listen socket after it has accepted a new
connection,
but sometime the event is not triggered.