One of the main issues when working on performance is to implant different monitors all along your application data flow.
I've used
HitCounter (legacy liveperson code),
Jamon (thanks to
Dmitry Voronov) and
yammer metrics (thanks to
Michael Rushanik) within my tomcat REST application (detailed Post with my conclusions will come soon, hopefully)
But
if you want also to check your apache web server and obtain the traffic
rate it currently handle or the current number of opened connections,
this post is for you ...
First of all, the status is ugly , not really graphic but it exists . It looks like that (the
bold emphasize is mine)
http://tlvvp1/server-status (you can also use
http://tlvvp1/server-status?auto)
Apache Server Status for tlvvp1
Server Version: Apache/2.2.15 (Unix)
Server Built: Feb 13 2012 22:31:42
Current Time: Tuesday, 12-Mar-2013 10:29:54 EDT
Restart Time: Tuesday, 12-Mar-2013 10:25:10 EDT
Parent Server Generation: 0
Server uptime: 4 minutes 43 seconds
Total accesses: 1248792 - Total Traffic: 2.9 GB
CPU Usage: u122.3 s123.1 cu0 cs0 - 86.7% CPU load
4410 requests/sec - 10.5 MB/second - 2503 B/request
202 requests currently being processed, 15 idle workers
KKKKKKKKKKKK.KKKKKKWKKK_WKK.K._KWKKKK...KKKK.KKKKKKKK_.KKKKK_KKK
KKK_KKKKKKK_._KKK_.K_KKKK_KKKKKKKK__CKKKWKKK.KKLKKKKKKKKWKKKKKKK
KK.KKKKKKKKKKKKK.KKKKKKKKKK.KWWKKK.KKWKKKKKKKKK..K...KKK.KKKKKKK
KKW.KKKKKKKWKKKKKKKWKK_K.K.KKWKKKKKK.K_K.KKKKKKKK_K.............
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-0 4399 173/6605/6605 K 1.25 0 4 422.9
15.77 15.77 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
1-0 4400 162/6594/6594 K 1.16 0 1 396.0
15.74 15.74 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
2-0 4401 139/6571/6571 K 1.41 0 4 339.8
15.69 15.69 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
3-0 4402 131/6563/6563 K 1.25 0 3 320.2
15.67 15.67 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
4-0 4403 175/6607/6607 K 1.26 0 2 427.8
15.77 15.77 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
5-0 4404 153/6585/6585 K 1.28 0 4 374.0
15.72 15.72 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
6-0 4405 131/6563/6563 K 1.39 0 3 320.2
15.67 15.67 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
7-0 4406 155/6587/6587 K 1.29 0 4 378.9
15.72 15.72 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
8-0 4407 155/6587/6587 K 1.24 0 1 378.9
15.72 15.72 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
9-0 4408 125/6757/6757 K 1.27 0 3 305.5
16.13 16.13 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
10-0 4409 147/6579/6579 K 1.28 0 4 359.3
15.70 15.70 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
11-0 4410 120/6151/6151 K 1.26 0 4 293.3
14.75 14.75 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
12-0 - 0/0/1207 . 0.30 262 0 0.0 0.00 2.88 ::1 vipr-CI.tlv.lpnet.com OPTIONS * HTTP/1.0
13-0 4412 153/6585/6585 K 1.31 0 1 374.0
15.72 15.72 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
14-0 4413 136/6568/6568 K 1.25 0 2 332.4
15.68 15.68 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
15-0 4414 145/6578/6578 K 1.28 0 3 354.4
15.70 15.70 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
16-0 4415 138/6570/6570 K 1.27 0 1 337.3
15.68 15.68 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
17-0 4416 143/6575/6575 K 1.35 0 4 349.5
15.69 15.69 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
18-0 4417 148/6580/6580 K 1.32 0 3 361.8
15.71 15.71 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
19-0 4418 163/6595/6595 W 1.31 0 0 398.4
15.74 15.74 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
20-0 4419 186/6417/6417 K 1.18 0 2 454.6
15.32 15.32 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
21-0 4420 187/6217/6217 K 1.23 0 3 457.1
14.84 14.84 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
22-0 4421 183/6213/6213 K 1.23 0 2 447.3
14.83 14.83 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
23-0 4422 0/6030/6030 _ 1.22 0 3 0.0
14.39 14.39 192.168.13.8 vipr-CI.tlv.lpnet.com GET
/account/site1/visitorProfiles?visitorID=user1&visitor-gene
In order to have this server-status, do the following:
in your file
/etc/httpd/conf/httpd.conf within your apache web server, make sure the following line is
uncommented:
LoadModule status_module modules/mod_status.so
Then, in create the following file
/etc/httpd/conf.d/status.conf
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Allow from all
</Location>
In addition, you can also use the
balancer-manager, which shows how the load balancing is handled (how many nodes in your proxy, what is the factor of each of them etc ...)
So in your applicative conf.d/your-cluster-definition.conf
<Location /balancer-manager>
SetHandler balancer-manager
Order Allow,DenyAllow from all</Location>
You can then visualize it using
http://tlvvp1:80/balancer-manager/ (use the right port, if customized) and you'll see something like:
Load Balancer Manager for tlvvp1
Server Version: Apache/2.4.3 (Unix)
Server Built: Dec 26 2012 10:54:47
LoadBalancer Status for balancer://vipr-ci
| MaxMembers | StickySession | DisableFailover | Timeout | FailoverAttempts | Method | Path | Active |
| 3 [3 Used] | (None) | Off | 0 | 2 | bybusyness | /account | Yes |
Then, restart your web server
service LPApache restart [or whatever your service is called ]
Once your apache is up and running, you can access the server-status using this URL
http://tlvvp1/server-status
(replace the host name [
tlvvp1] by your own one)