Help with AIO

Maxim Dounin mdounin at
Tue Sep 6 07:33:52 UTC 2011


On Tue, Sep 06, 2011 at 01:21:00AM +0300, Hagai Avrahami wrote:

> Hi
> I configured Nginx with *aio *mode *on *and 1 *worker process*
> In benchmarking I saw limit of 1024 concurrent sessions even configured to
> 4096 *worker connections*

Sure it's not limitation of the benchmarking tool you use?  Most 
tools out there use select() and hence limited to 1024 
concurrent connections.

> When I looked in the source code I could see that  io_setup is called with
> fix value of 1024 max events
> can anyone please explain me the hard coded limit
> Is it OK to change it or it is derived from other limit I am not aware of
> any help will be appreciated

io_setup() maxevents is a limit on number of aio requests allowed 
to be submitted simulteneously; if nginx hits this limit, it will 
fallback to normal blocking read.

If you are going to change it, make sure to keep total for all 
processes lower than /proc/sys/fs/aio-max-nr.

Maxim Dounin

More information about the nginx mailing list