measuring application performance
Posted by mop Sun, 04 Jul 2004 13:46:00 GMT
I’m thinking a lot about measuring performance these days. Not benchmarks, stress testing or profiling, but real time performance. The largest web site we support expects to grow substantially in the coming months and predicting the hardware and software requirements is tough without real time metrics. What I’ve quickly realized is that measuring is the easy part (relative, eh).
We’re running multiple application servers (Apache + Java) behind a single load balancer and in front of a single instance of SQL Server. It’s not difficult to extract metrics from each component in the stack: Apache stats are available via mod_status, the load balancer uses Linux Virtual Server so ipvsadm -l yields lots of info, and database metrics are as easy as select count(*) from .... For now, I’m using MRTG to manage these metrics.
There are still some important metrics missing (running average of response time, SQL TPS) but already it’s apparent that we’ll need a way to distill all the data. ISPs must have the same problem, many servers, many graphs. And what Google must have to do with all their servers, yikes. MRTG does have the ability to trigger an alarm when a metric exceeds a pre-defined threshold, might be worth pursuing.
