You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by Jorge Román Novalbos <jr...@linux-it.es> on 2012/04/12 22:18:05 UTC

ATS concurrence

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

Re: User-Agent Redirect

Posted by James Peach <jp...@apache.org>.
On 19/04/2012, at 7:55 PM, Leif Hedstrom wrote:

> On 04/19/2012 05:28 AM, Jorge Román Novalbos wrote:
>> Hi list!
>> 
>> It's possible to performance a redict based in the userAgent Header????
>> 
> 
> 
> It would require a plugin atm I think. Perhaps when James finishes the "prototype" Lua plugin you can try that too :)

Yeh, that's exactly the kind of thing the Lua remap plugin is intended to support ... I hope to have something ready for review in a week or so.

J

Re: User-Agent Redirect

Posted by Leif Hedstrom <zw...@apache.org>.
On 04/19/2012 05:28 AM, Jorge Román Novalbos wrote:
> Hi list!
>
> It's possible to performance a redict based in the userAgent Header????
>


It would require a plugin atm I think. Perhaps when James finishes the 
"prototype" Lua plugin you can try that too :)

-- Leif


User-Agent Redirect

Posted by Jorge Román Novalbos <jr...@linux-it.es>.
Hi list!

It's possible to performance a redict based in the userAgent Header????

thanks!!

Jorge Roman


Re: ATS concurrence

Posted by Siddharth Wagh <si...@gmail.com>.
Try these parameters:
1. cat /proc/sys/net/nf_conntrack_max (or similar location)
Increase to about 200000 or so if the value is small

2. Increase ulimit values
sudo ulimit -n 32768
sudo ulimit -u 32768

Regards,
Sid



On Fri, Apr 13, 2012 at 10:03 AM, Jorge Román Novalbos
<jr...@linux-it.es>wrote:

> 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 <jr...@linux-it.es>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 <
>> jroman@linux-it.es> 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 <
>>> jroman@linux-it.es> 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
>>>
>>>
>>>
>>>
>>
>>
>
>

Re: ATS concurrence

Posted by Jorge Román Novalbos <jr...@linux-it.es>.
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 <jr...@linux-it.es> 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 <jr...@linux-it.es> 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 <jr...@linux-it.es> 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
>>> 
>> 
>> 
> 
> 


Re: ATS concurrence

Posted by Rohit Karlupia <ia...@gmail.com>.
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 <jr...@linux-it.es>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 <jroman@linux-it.es
> > 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 <jroman@linux-it.es
>> > 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
>>
>>
>>
>>
>
>

Re: ATS concurrence

Posted by Jorge Román Novalbos <jr...@linux-it.es>.
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 <jr...@linux-it.es> 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 <jr...@linux-it.es> 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
>> 
> 
> 


Re: ATS concurrence

Posted by Rohit Karlupia <ia...@gmail.com>.
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
<jr...@linux-it.es>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 <jr...@linux-it.es>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
>
>
>
>

Re: ATS concurrence

Posted by tom ryan <to...@gmail.com>.
> 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.

/me thinks it would be good for your to quantify this... how many
requests does ab send, how many does the origin actually see... it's
good to know anyway.


best,
tom

Re: ATS concurrence

Posted by Jorge Román Novalbos <jr...@linux-it.es>.
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 <jr...@linux-it.es> 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
> 


Re: ATS concurrence

Posted by Rohit Karlupia <ia...@gmail.com>.
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 <jr...@linux-it.es>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