Re: High load apache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pablo,

Here the o/p:

command: ab -t 60 -c 100 https://domain/h/imp/login.php


vmstat:

[root@wmail /]# vmstat -S M 2 20
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
40  0      0   7305    288   2259    0    0     0     3   14   11  2  1 97  0  0
 7  0      0   7301    288   2259    0    0     0     0 1785 15462 39 15 46  0  0
47  0      0   7296    288   2259    0    0     0     0 1720 15032 40 17 43  0  0
25  0      0   7297    288   2260    0    0     0    62 1656 15157 40 15 45  0  0
 7  0      0   7296    288   2260    0    0     0     0 1866 15701 40 17 44  0  0
51  1      0   7293    288   2260    0    0     0    42 1862 16083 37 14 44  4  0
 1  0      0   7295    288   2260    0    0     0    12 1807 15293 42 15 42  0  0
51  0      0   7298    288   2260    0    0     0     0 1797 16015 36 14 50  0  0
14  1      0   7296    288   2260    0    0     0    54 1782 15001 42 15 41  2  0
36  0      0   7293    288   2260    0    0     0   220 1728 14567 43 16 37  3  0
17  0      0   7292    288   2260    0    0     0    42 1726 15443 40 16 44  0  0
11  0      0   7296    288   2260    0    0     0    10 1844 15618 39 14 46  0  0
 9  0      0   7290    288   2260    0    0     0     0 1617 14694 41 15 44  0  0
 4  0      0   7291    288   2260    0    0     0    44 1632 14668 42 15 43  0  0
 7  0      0   7287    288   2260    0    0     0    16 1657 14941 38 17 45  0  0
14  1      0   7287    288   2260    0    0     0    40 1751 15042 39 17 41  3  0
43  0      0   7290    288   2260    0    0     0    12 1787 15635 38 18 44  0  0
 1  0      0   7288    288   2260    0    0     0     0 1675 14830 41 17 42  0  0
44  0      0   7290    288   2260    0    0     0    44 1762 15691 33 16 51  0  0
39  0      0   7288    288   2260    0    0     0    10 1666 14491 41 18 40  1  0


Process waiting for run time (r) seems to be high. But don't know if it is normal with 100 concurrent users.

Thanks
Paras.


On Mon, Sep 13, 2010 at 7:11 PM, Pablo Garcia Melga <malevo@xxxxxxxxx> wrote:
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



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux