What does error 24 mean? Also how does nginx handle the Slowloris tool?

Maxim Dounin mdounin at mdounin.ru
Wed Oct 14 11:47:20 MSD 2009


On Tue, Oct 13, 2009 at 10:44:54PM -0400, gunblad3 wrote:

> Sorry for the late reply, was flooded with other things ;)
> I tried by adding
> worker_rlimit_nofile 10240;
> instead and it worked with 10000 connections.
> Have a few questions:
> 1) Is there a implicit default max number of file descriptors set for worker_rlimit_nofile?

It's you OS who sets limits, not nginx.  Directive 
worker_rlimit_nofile only needed when you want nginx to ask OS to 
change limits for already running nginx process.  By default (i.e.  
without worker_rlimit_nofile set) nginx don't ask to change 

> 2) How does worker_rlimit_nofile and ulimit affect the actual max number of file descriptors?

Basically, OS sets limits, ulimit shows them, worker_rlimit_nofile 
asks OS to change limits.  Result is something that OS decided to 
do, usually minimum of worker_rlimit_nofile and global OS maxfiles 

> 3) How does nginx handle unfinished requests that are taking a long time to complete sending? (slow upstream)

Nothing special.  They are just handled.  And when both OS and 
nginx are properly tuned - nginx can handle lots of such (and 
other) connections.

Maxim Dounin

More information about the nginx mailing list