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 >> >> >