httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paras pradhan <pradhanpa...@gmail.com>
Subject Re: [users@httpd] High load apache
Date Tue, 14 Sep 2010 22:07:50 GMT
Pablo,

With .html files, it performs good. with php scripts it doesnot (whether it
is using database or not)

I will look for jmeter.

Thanks
Paras.


On Tue, Sep 14, 2010 at 5:00 PM, Pablo Garcia Melga <malevo@gmail.com>wrote:

> Sorry Paras, I didn't catch it right ,  then the behavior is :
>
> Database based (Performs Wrong)
> Non Database based (perform good)
> html files (performs good)
>  is this right ?
>
> Asuming this is the case, then you should check your database server
> to see if you're seeing stress signs on it.
>
> Also, if you really want to load-test your application, then you
> should consider a more complex test, using jmeter or some other
> testing tool, where you can create random waits and other test
> artifacts.
>
> Regards, Pablo
>
> On Tue, Sep 14, 2010 at 5:22 PM, Paras pradhan <pradhanparas@gmail.com>
> wrote:
> > Just confirmed that the runtime wait is happening to all the database
> based
> > and non database based php scripts and with plain html files it is fine.
> > Ideas?
> > Paras.
> >
> > On Tue, Sep 14, 2010 at 12:46 PM, Paras pradhan <pradhanparas@gmail.com>
> > wrote:
> >>
> >> Yes horde is based on PHP and Mysql. But the page I am hitting with ab
> is
> >> just the login page and no database involved.
> >> Paras.
> >>
> >> On Tue, Sep 14, 2010 at 12:43 PM, Pablo Garcia Melga <malevo@gmail.com>
> >> wrote:
> >>>
> >>> I'm not familiar with Horde, does it run against a database server ?,
> >>> based on the information you provided, there's seems to be something
> >>> else preventing the apache to serve the requests on time.
> >>>
> >>>
> >>> On Tue, Sep 14, 2010 at 2:19 PM, Paras pradhan <pradhanparas@gmail.com
> >
> >>> wrote:
> >>> > 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@gmail.com>
> >>> > 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@gmail.com>
> >>> >> 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@gulfbridge.net>
> >>> >> > 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@gulfbridge.net>
> >>> >> >> wrote:
> >>> >> >>>
> >>> >> >>> On 09/10/2010 06:09 PM, Paras pradhan wrote:
> >>> >> >>>
> >>> >> >>> On Fri, Sep 10, 2010 at 4:58 PM, John List
> >>> >> >>> <johnlist@gulfbridge.net>
> >>> >> >>> 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@httpd.apache.org
> >>> >> >>>>  "   from the digest:
> users-digest-unsubscribe@httpd.apache.org
> >>> >> >>>> For additional commands, e-mail: users-help@httpd.apache.org
> >>> >> >>>>
> >>> >> >>>
> >>> >> >>>
> >>> >> >>
> >>> >> >>
> >>> >> >
> >>> >> >
> >>> >>
> >>> >>
> ---------------------------------------------------------------------
> >>> >> 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@httpd.apache.org
> >>> >>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> >>> >> For additional commands, e-mail: users-help@httpd.apache.org
> >>> >>
> >>> >
> >>> >
> >>>
> >>> ---------------------------------------------------------------------
> >>> 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@httpd.apache.org
> >>>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> >>> For additional commands, e-mail: users-help@httpd.apache.org
> >>>
> >>
> >
> >
>
> ---------------------------------------------------------------------
> 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@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>

Mime
View raw message