how nginx handle connection with backend web server?

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


Hi,

2009/8/10 李学鹏 <xuepeng.li at gmail.com>:
> 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 gmail.com>
>>
>> 李学鹏 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
bottleneck.

Cheers!

-- 
Joshua Zhu





More information about the nginx mailing list