Welcome! Log In Create A New Profile

Advanced

[Kinda OT, Linux-related] Performance question

Grzegorz Nosek
May 19, 2009 07:08AM
Hi all,

I encountered a rather severe performance problem with Nginx (a rather
ancient version, 0.5.35, on a completely ancient OS):

built by gcc 2.95.4 20011002 (Debian prerelease)
configure arguments: (paths...) --with-http_stub_status_module --with-poll_module

Code is 100% vanilla.

The kernel does support epoll, but the stone-age libc does not, so I'm
stuck with select/poll. Everything worked fine up until some 800 req/s
(pure static content, a single file actually), while severely choking
at higher speeds (even the status page timed out). There were no traffic
queues/limits etc. Sorry, no debug logs or straces available. Currently
conntrack is enabled but I'll try to do some tests without it.

Nginx was running with 6 workers, 1024 connections each. The stub status
page usually showed about 120-150 concurrent requests, keepalive is off.

It looks like decreasing tcp_fin_timeout to 2 helped, but I'd really
want to understand *what* exactly happened. Nginx did not need any
local ports at all (though the system had a ****load of TIME_WAIT
connections).

The problem isn't purely Nginx-related, I think, as I remember seeing
easily 2000 req/sec while testing from a single IP. The bottleneck looks
related to the sheer number of clients (as in, IP addresses) connecting
to Nginx.

Has anybody seen similar behaviour?

Best regards,
Grzegorz Nosek
Subject Author Posted

[Kinda OT, Linux-related] Performance question

Grzegorz Nosek May 19, 2009 07:08AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 182
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