Memory Pool

Valentin V. Bartenev vbart at nginx.com
Wed Apr 9 14:10:06 UTC 2014


On Wednesday 09 April 2014 08:22:10 nginxsantos wrote:
> Thank you for the reply.
> 
> I know it is simple. But, will we not get more performance benefit if we
> create the pools before hand. Say I will create a memory pool for the
> connections (for example say with 4000 entries). Everytime I need one, I
> will go and get it from that pool and when I free it, I will free that to
> the pool. Will not that be more efficient rather than for every connection
> and request going and allocating a pool.
> 
> I always feel the run time malloc calls are bad and for every connection and
> request are expensive when we handle thousands of connections per seconds.
> 
> Please share your thoughts....
> 

I think performance benefits will be negligible.  There are lightweight web 
servers like Lighttpd that doesn't use memory pools and known to be pretty 
fast.

Also note, that allocation of connection pool is just a one small allocation,
that nginx does during request processing among number of allocations of 
various buffers.

  wbr, Valentin V. Bartenev



More information about the nginx mailing list