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