Paras, have you checked the OS counters ?, is this completely CPU bound ?
would you post a "vmstat 2" run during the ab testing ?
Regards, Pablo
On Mon, Sep 13, 2010 at 7:28 PM, Paras pradhan <pradhanparas@xxxxxxxxx> wrote:
> I got almost the same result as yours with a small test php script. But with
> the login page of horde, I am getting a small number of requests processed.
> I am assuming my tuned apache is fine and its the bulky horde php scripts
> that are hitting me. But still looking around the solution.. I have
> memcached and eaccelerator in place but not seeing improvements.
>
> With small php script:
> nagarkot:~ ppradhan$ ab -t 10 -c 30 https://domain/test.php
> This is ApacheBench, Version 2.3 <$Revision: 655654 $>
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Licensed to The Apache Software Foundation, http://www.apache.org/
> Benchmarking hostname (be patient)
> Finished 4608 requests
>
> Server Software: Apache/2.2.3
> Server Hostname: hostname
> Server Port: 443
> SSL/TLS Protocol: TLSv1/SSLv3,AES256-SHA,1024,256
> Document Path: /test.php
> Document Length: 68 bytes
> Concurrency Level: 30
> Time taken for tests: 10.003 seconds
> Complete requests: 4608
> Failed requests: 0
> Write errors: 0
> Total transferred: 1107432 bytes
> HTML transferred: 313480 bytes
> Requests per second: 460.65 [#/sec] (mean)
> Time per request: 65.125 [ms] (mean)
> Time per request: 2.171 [ms] (mean, across all concurrent requests)
> Transfer rate: 108.11 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 8 30 33.3 26 406
> Processing: 5 35 21.4 32 386
> Waiting: 5 30 20.4 27 383
> Total: 20 65 40.3 59 462
> Percentage of the requests served within a certain time (ms)
> 50% 59
> 66% 64
> 75% 69
> 80% 72
> 90% 81
> 95% 91
> 98% 154
> 99% 269
> 100% 462 (longest request)
>
>
> With horde:
>
> --
> nagarkot:~ ppradhan$ ab -t 10 -c 30 https://domain/h/imp/login.php
> This is ApacheBench, Version 2.3 <$Revision: 655654 $>
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Licensed to The Apache Software Foundation, http://www.apache.org/
> Benchmarking hostname (be patient)
> Finished 28 requests
>
> Server Software: Apache/2.2.3
> Server Hostname: hostname
> Server Port: 443
> SSL/TLS Protocol: TLSv1/SSLv3,AES256-SHA,1024,256
> Document Path: /h/imp/login.php
> Document Length: 16808 bytes
> Concurrency Level: 30
> Time taken for tests: 10.057 seconds
> Complete requests: 28
> Failed requests: 0
> Write errors: 0
> Total transferred: 490644 bytes
> HTML transferred: 470624 bytes
> Requests per second: 2.78 [#/sec] (mean)
> Time per request: 10775.575 [ms] (mean)
> Time per request: 359.186 [ms] (mean, across all concurrent requests)
> Transfer rate: 47.64 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 9 213 220.9 269 867
> Processing: 660 3935 2707.5 3242 9787
> Waiting: 659 3934 2707.5 3241 9785
> Total: 926 4148 2762.9 3314 10056
> Percentage of the requests served within a certain time (ms)
> 50% 3314
> 66% 4803
> 75% 6077
> 80% 6369
> 90% 8963
> 95% 9699
> 98% 10056
> 99% 10056
> 100% 10056 (longest request)
>
>
> Thanks!
> Paras.
> On Mon, Sep 13, 2010 at 1:33 PM, John List <johnlist@xxxxxxxxxxxxxx> wrote:
>>
>> On 09/13/2010 12:41 PM, Paras pradhan wrote:
>>
>> John,
>> I am testing to support 300 requests / second. concurrent parameter in ab
>> does test number of Established tcp session per second if I am not mistaken.
>> Thanks
>> Paras.
>>
>> Sorry again, Paras. This time I erred in two ways: I said you were testing
>> at 300 connections per second. Actually, your -c parameter is 100 so you are
>> testing at 100 concurrent requests (not requests per second; the actual
>> number of requests per second is probably far higher).
>>
>> Suggestions:
>>
>> Post your complete ab results back here
>> You might want to run your test against a (non-encrypted) http url (as
>> well as the encrypted https url you are using) to see to see if the
>> encryption process is a significant part of the processing time. (I'm
>> guessing it will be.)
>>
>> FWIW, I'm posting my own ab results below. I ran ab from my desktop
>> against a simple login screen on a webserver running on a dual-core laptop
>> on the same local network using a command of "ab -t 10 -c 30
>> http://192.168.1.3/Login.html". As you can see, I was actually completing
>> 573 requests per second!:
>>
>> # ab -t 10 -c 30 http://192.168.1.3/Login.html
>> This is ApacheBench, Version 2.3 <$Revision: 655654 $>
>> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
>> Licensed to The Apache Software Foundation, http://www.apache.org/
>>
>> Benchmarking 192.168.1.3 (be patient)
>> Completed 5000 requests
>> Finished 5734 requests
>>
>>
>> Server Software: Apache/2.2.12
>> Server Hostname: 192.168.1.3
>> Server Port: 80
>>
>> Document Path: /Login.html
>> Document Length: 2409 bytes
>>
>> Concurrency Level: 30
>> Time taken for tests: 10.002 seconds
>> Complete requests: 5734
>> Failed requests: 0
>> Write errors: 0
>> Total transferred: 16439378 bytes
>> HTML transferred: 13813206 bytes
>> Requests per second: 573.30 [#/sec] (mean)
>> Time per request: 52.328 [ms] (mean)
>> Time per request: 1.744 [ms] (mean, across all concurrent requests)
>> Transfer rate: 1605.14 [Kbytes/sec] received
>>
>> Connection Times (ms)
>> min mean[+/-sd] median max
>> Connect: 0 0 0.4 0 7
>> Processing: 4 50 68.6 41 1918
>> Waiting: 3 49 68.4 41 1918
>> Total: 4 50 68.6 42 1919
>>
>> Percentage of the requests served within a certain time (ms)
>> 50% 42
>> 66% 46
>> 75% 50
>> 80% 53
>> 90% 81
>> 95% 120
>> 98% 180
>> 99% 282
>> 100% 1919 (longest request)
>> #
>>
>> I hope this helps. (And thanks for introducing me to ab!)
>>
>> John
>>
>> On Fri, Sep 10, 2010 at 5:34 PM, John List <johnlist@xxxxxxxxxxxxxx>
>> wrote:
>>>
>>> On 09/10/2010 06:09 PM, Paras pradhan wrote:
>>>
>>> On Fri, Sep 10, 2010 at 4:58 PM, John List <johnlist@xxxxxxxxxxxxxx>
>>> wrote:
>>>>
>>>> Which processes are using the processors the most? (I suspect your imap
>>>> server might be more responsible than apache.)
>>>>
>>>> John Hicks
>>>
>>> True . But I am only hitting the login.php page from ab to benchmark.
>>> Thanks
>>> Paras.
>>>
>>> (Pardon me for not reading your op more carefully.)
>>>
>>> I am not familiar with ab, but after a quick read, I have one
>>> observation:
>>>
>>> You say you are building a system to support 200+ concurrent users on
>>> horde. I assume that means 200 users concurrently running horde and
>>> therefore checking their inbox every minute or so. That would be about 3.3
>>> requests per second.
>>>
>>> It looks to me like your ab test is testing at 300.0 connections per
>>> second.
>>>
>>> In other words, perhaps you needn't be too concerned about sluggish
>>> performance from the ab test.
>>>
>>> John Hicks
>>>
>>>
>>>>
>>>>
>>>> On 09/08/2010 03:42 PM, Paras pradhan wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Looking for recommendations.
>>>>> I need to serve 100-200+ concurrent users to provide php based webmail
>>>>> client (horde). I have setup memcached and php-fastcgid for this purpose.
>>>>> The server has four 2.2G AMD optereon cores with 8GB of memory. I am doing
>>>>> stress test using ab as: ab -t 36000 -c 100 https://url/h/imp/login.php.
>>>>> What I have noticed if the number of concurrent users are more than around
>>>>> 25, I get the sluggish performance and I can see linux load rising high to
>>>>> 25 to 30 and all the cpu cores are approximately 75% used.
>>>>>
>>>>> This is what I have in config files:
>>>>>
>>>>> mpm worker:
>>>>> --
>>>>> <IfModule worker.c>
>>>>> StartServers 15
>>>>> MaxClients 960
>>>>> MinSpareThreads 75
>>>>> MaxSpareThreads 150
>>>>> ThreadsPerChild 64
>>>>> MaxRequestsPerChild 5000
>>>>> --
>>>>>
>>>>> memcached: 4GB
>>>>>
>>>>> ---
>>>>>
>>>>> fcgid:
>>>>>
>>>>> <IfModule !mod_fastcgi.c>
>>>>> AddHandler fcgid-script .fcgi
>>>>> MaxRequestsPerProcess 10000
>>>>> MaxProcessCount 100
>>>>> IPCCommTimeout 240
>>>>> IdleTimeout 240
>>>>> ProcessLifeTime 300
>>>>> BusyTimeout 300
>>>>> DefaultMaxClassProcessCount 100
>>>>> DefaultMinClassProcessCount 50
>>>>>
>>>>> </IfModule>
>>>>> ---
>>>>>
>>>>> php-fcgid:
>>>>>
>>>>> # Number of PHP childs that will be launched. Leave undefined to let
>>>>> PHP decide.
>>>>> # DefaultInitEnv PHP_FCGI_CHILDREN 4
>>>>> # Maximum requests before a process is stopped and a new one is
>>>>> launched
>>>>> DefaultInitEnv PHP_FCGI_MAX_REQUESTS 10000
>>>>> ----
>>>>> OS: RHEL 5.5
>>>>> Apache: 2.2.3
>>>>> PHP: 5.1
>>>>> Mysql: 5.0
>>>>>
>>>>>
>>>>> Will appreciate for any inputs.
>>>>>
>>>>> Thanks!
>>>>> Paras.
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> The official User-To-User support forum of the Apache HTTP Server
>>>> Project.
>>>> See <URL:http://httpd.apache.org/userslist.html> for more info.
>>>> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>>>> " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
>>>> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
>>>>
>>>
>>>
>>
>>
>
>
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
" from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
![]() |