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 <mal...@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 <pradhanpa...@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 <pradhanpa...@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 <mal...@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 <pradhanpa...@gmail.com > > > >>> wrote: > >>> > Pablo, > >>> > Here the o/p: > >>> > command: ab -t 60 -c 100 https://domain/h/imp/login.php > >>> > > >>> > vmstat: > >>> > [r...@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 < > mal...@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 > >>> >> <pradhanpa...@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 < > johnl...@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 > >>> >> >> <johnl...@gulfbridge.net> > >>> >> >> wrote: > >>> >> >>> > >>> >> >>> On 09/10/2010 06:09 PM, Paras pradhan wrote: > >>> >> >>> > >>> >> >>> On Fri, Sep 10, 2010 at 4:58 PM, John List > >>> >> >>> <johnl...@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-unsubscr...@httpd.apache.org > >>> >> >>>> " from the digest: > users-digest-unsubscr...@httpd.apache.org > >>> >> >>>> For additional commands, e-mail: users-h...@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-unsubscr...@httpd.apache.org > >>> >> " from the digest: users-digest-unsubscr...@httpd.apache.org > >>> >> For additional commands, e-mail: users-h...@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-unsubscr...@httpd.apache.org > >>> " from the digest: users-digest-unsubscr...@httpd.apache.org > >>> For additional commands, e-mail: users-h...@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-unsubscr...@httpd.apache.org > " from the digest: users-digest-unsubscr...@httpd.apache.org > For additional commands, e-mail: users-h...@httpd.apache.org > >