If you've already narrowed it down to php, jmeter probably won't help
you further. Are you getting any error messages in your apache log? If not, check the log level in your php.ini file and set it to log everything. Is there not a list or forum for horde? Try posting there. John On 09/14/2010 06:07 PM, Paras pradhan wrote: 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@xxxxxxxxx>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@xxxxxxxxx> wrote:Just confirmed that the runtime wait is happening to all the databasebasedand 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@xxxxxxxxx> wrote:Yes horde is based on PHP and Mysql. But the page I am hitting with abisjust the login page and no database involved. Paras. On Tue, Sep 14, 2010 at 12:43 PM, Pablo Garcia Melga <malevo@xxxxxxxxx> 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@xxxxxxxxxwrote: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 ussyid wa st 40 0 0 7305 288 2259 0 0 0 3 14 11 2197 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 ifitis 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 phpscript.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.. Ihavememcached 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 30https://domain/h/imp/login.phpThis 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. concurrentparameterin ab does test number of Established tcp session per second if I amnotmistaken. Thanks Paras. Sorry again, Paras. This time I erred in two ways: I said youweretesting 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) httpurl(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 mydesktopagainst a simple login screen on a webserver running on adual-corelaptop 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 HicksTrue . 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+ concurrentuserson 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 HicksOn 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 forthispurpose. The server has four 2.2G AMD optereon cores with 8GB ofmemory.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 undefinedtolet PHP decide. # DefaultInitEnv PHP_FCGI_CHILDREN 4 # Maximum requests before a process is stopped and a newoneis 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 HTTPServerProject. See <URL:http://httpd.apache.org/userslist.html> for moreinfo.To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest:users-digest-unsubscribe@xxxxxxxxxxxxxxxxFor 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--------------------------------------------------------------------- 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 |
![]() |