Hi, Lukas Many thanks , you are awesome. It's my fault that did not read the documentation carefully.
I enlarged the "timeout queue". No 503 page returned, but the total sessions in frontend accumulated quickly, which means most of the requests are queued by haproxy. I will try to add more servers to run backend server. 谢谢 金杰 (Jie Jin) On Tue, Jul 1, 2014 at 9:50 PM, Lukas Tribus <luky...@hotmail.com> wrote: > Hi, > > > > > > I add an option maxconn after keyword server. When haproxy face > > high volume of requests (about 20000 concurrent requests), it return > > many 503 page > > Of course it will. > > You would like to serve 20000 concurrent requests, but your 6 servers > only support 180 concurrent connections each. Do the math: > > 6 x 180 = 1080 concurrent request can be served in your configuration, > of course you will see a lot of 503 errors. > > > > > why did haproxy send 503 page? > > Because all backend servers are busy serving 180 concurrent requests, > as per your configuration. You have instructed HAProxy not the send > more than 180 request per server, and that is exactly what HAProxy > is doing (queueing the request until timeout queue [2] expires and > then sending 503 errors). > > > > > I also did not understand the meaning of optioin maxconn. If I remove > > this option, haproxy will return only very few 503 page. > > Please read the documentation about maxconn fully [1] then. > > > > > Do option maxconn in above configration mean: if concurrent requests > > come from frontend is bigger than 180, haproxy will reject these > > requests and return 503? > > It means: each server can handle up to 180 concurrent requests and HAproxy > will not send more request to the server, but either use a different server > (if there are), or queue it until "timeout queue" [2] expires, or > "contimeout" as it is in your case (3 seconds). > > > > > If yes, can I configure the size of the queue? > > 180 *is* your per server queue size, and its exactly the limitation > you are hitting. > > > > > Additional info > > [jj@p2p3 tmp]$ echo "show errors" | sudo socat stdio /tmp/haproxysock > > Total events captured on [01/Jul/2014:18:49:29.713] : 0 > > You gonna need to configure the stats socket properly, "show errors" > requires operator or admin privileges on the socket [2] ("level admin"). > > > > > > Regards, > > Lukas > > > > [1] > http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#maxconn%20%28Server%20and%20default-server%20options%29 > [2] > http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#timeout%20queue > [3] > http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#9.2-show%20errors >