how nginx handle connection with backend web server?

Joshua Zhu zhuzhaoyuan at
Mon Aug 10 08:03:02 MSD 2009


2009/8/10 李学鹏 < at>:
> So,  it means that client (browser) will get a 5** error ?
> if this,  what's the meaning of enginx high concurrent connection ?
> 2009/8/10 Weibin Yao <nbubingo at>
>> 李学鹏 at 2009-8-10 10:37 wrote:
>>> hi all
>>> i have a question that how nginx handle connection with backend web
>>> server ?
>>> for example, i have a nginx server for receiving client request, and
>>> reverse proxy to backend 2 web server(such as apache server), every apache
>>> server have 100 child process(prefork module). so, if there are 1000 client
>>> requests, how nginx map 1000 requests to only 200 apache server process?
>> Nginx can handle more than 10000 concurrent connections, but apache with
>> prefork's max concurrent connections is the number of its process number. So
>> Apache will send the 5** error.
>> --
>> Weibin Yao

It's 1:1 model actually and for now nginx establishes HTTP 1.0
connections only.

In your circumstance, you use nginx as a reverse proxy, hence it's not
nginx but your upstream's duty to handle real connections, I.E., your
upstream's capacity must be big enough, otherwise, it will become the


Joshua Zhu

More information about the nginx mailing list