If i performance the test again with keep alive, i don't see any TIME_WAIT connection but the timeouts still happen.
1) It was with default configuration 32768 61000, I have set this param to 1024 65000. 2) No i always see this behavior. 3) When I perform the these with less concurrent request and keep alive on, the report shows that almost all request were served by a keepalive connection. On 13/04/2012, at 11:24, Rohit Karlupia wrote: > 1) What do you get for cat /proc/sys/net/ipv4/ip_local_port_range ? > 2) Does the TPS decreases over time? Or is it consistent for long time? > 3) Ab does report how many requests used keep alive connection. Check if that > value is significant. ab uses HTTP 1.0, not sure if ATS supports keep-alive > for http 1.0 connections. > > thanks! > rohitk > > On Fri, Apr 13, 2012 at 1:53 PM, Jorge Román Novalbos <[email protected]> > wrote: > The ATS is not going back to the server, but i have a lot of TIME_WAIT > connections between ATS and "ab client machine", around 3600 TIME_WAIT > connection of 4000. > > Any clue? > > > On 13/04/2012, at 09:28, Rohit Karlupia wrote: > >> Can you verify that ATS is not going back to your servers? >> Check netstat output on ATS machine? >> - You should only have connections from client to ATS. >> - Do you see connections in TIME_WAIT? How many? >> >> thanks! >> rohitk >> >> >> On Fri, Apr 13, 2012 at 12:47 PM, Jorge Román Novalbos <[email protected]> >> wrote: >> Hi, thank for your answer!! >> >> 1) I have tried with -k too, and i have timeouts too. >> >> 2)I don't think that was the problem because I get the same timeout from >> different clients from internet. anyway I have 10G internet conexion. >> >> 3) The ATS server load is very low during the test, never overcome 1. The >> request never reach the origin servers because ATS is caching the object, >> therefore the req per seconds should be much more high. >> 4) I have the same problem with statics objects. My origin servers never >> could handle 10000 req/s, therefore I'm interesting in ATS. >> 5) Sure! >> >> I don't know, but I think it's a problem (or setting) of the SO tcp/ip stack. >> >> Any other idea??? >> >> >> On 13/04/2012, at 08:34, Rohit Karlupia wrote: >> >>> Multiple things can go wrong..;) >>> >>> 1) You can use -k option with ab to keep the client connections alive. That >>> should be helpful. >>> 2) Divide the total bytes transferred by duration of the test to see if you >>> are close to bandwidth limits. (100Mbps or 1Gbps) >>> 3) Are you maxing out on cpu on ATS or the application server machine? ATS >>> is a proxy. It will only add to latency. If the backend server is >>> exhausted, you probably need to put more servers and load balance them >>> using ATS to get your desired numbers. >>> 4) php is process based. What is behind ATS ? Apache? How many processes? >>> 5) Are you using caching on ATS? >>> >>> thanks! >>> rohitk >>> >>> On Fri, Apr 13, 2012 at 1:48 AM, Jorge Román Novalbos <[email protected]> >>> wrote: >>> Hi everyone!! >>> >>> I'm configuring a new ATS machine that it gonna server a lot request per >>> second (around 10000). >>> >>> I have done several benchmark with ab from different machine to achieve >>> more concurrence but I can't get more than 3000 request per second. >>> >>> I have set several params in order to improve the performance: >>> >>> echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle >>> echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse >>> echo "10" > /proc/sys/net/ipv4/tcp_fin_timeout >>> >>> echo "10240" > /proc/sys/net/core/somaxconn >>> >>> Besides, I have increased max open file allowed for nobody user to 16384 >>> (User that run ATS) >>> >>> In the client side always get the same error : >>> >>> apr_socket_recv: Connection timed out (110) >>> >>> This is the ab command: >>> >>> ab -c 600 -t 60 ''http://172.20.10.11/test.php" >>> >>> I have increased the limit to 5000 in client side too. >>> >>> Anybody knows how i can retrieve more concurrence in my server?????? >>> >>> Thanks in advance!!! >>> >>> Jorge >>> >> >> > >
