August 24, 2007 | Comments: (0)
The Perfmon Dilema
It's no wonder that so many vendors are always trying to come up with a decent realtime monitoring tool. The MS tool Perfmon is good, but for monitoring a lot of counters, it can get kinda thick. The trouble is, for all the technology out there, and all the companies throwing dev dollars at this problem, there's still nothing that works as well as Perfmon. What can I say, it's just a great tool. And despite its problems with large counter sets, it's still my tool of choice. What am I going to do, use Spotlight? I don't think so.
That's really the reason why the tool is so successful at what it does though. It doesn't try to be more than it is, and it doesn't try to throw tons of those fancy pac-man graphics (or whatever game you kids are playing these days) at you. It just draws simple lines. Because of this it keeps a very small footprint on the server and just does its job. I like that. It may not be the prettiest tool out there, but it's the most reliable I've seen. And it's fairly versitile as well. You can save to different file formats, and replay scenarios, etc. You can even save to a database and do whatever you like with it after that. But Perfmon as a realtime tool just can't be beat. And anything that does as good of a job is probably similar enough that you might as well use Perfmon to begin with.
To show you what I mean, here's a screenshot of a Perfmon session from my production environment. You can see that there's no way you could ever read this, but in a case like this, you wouldn't even try. What I do when I'm looking at this server is switch it over to log mode and just look at the raw numbers. It would be nice if you could highlight some of them or color them, etc, but that would make Perfmon fatter and it wouldn't be as successful as it is. So I don't really mind the lack of functionality if it'll work every time.
I think another driving force behind all the other realtime monitoring tools is lack of education. These days nobody wants to open a book and learn what a lot of these counters mean, and how they work together. So a lot of the other tools spend a lot of time and energy trying to interpret the raw data for you. Yeah, it can be useful sometimes, but how do I know that you've interpreted it correctly, or that it's what I actually want to see. Thresholds are another advantage to the 3rd party tools. You can set alarms to go off, and bells to chime, and colors to change, etc whenever a counter gets outside your parameters. And again, that's dandy, but it slows down the tool, and quite often creates a bigger load on the server than it can handle sometimes. Especially if it's already under heavy load... I mean, you're looking at it for a reason, right? And that reason is usually performance related. So if you're having problems with server performance, then why would you add more load to it and expect to be able to do anything except cause a bigger bottleneck? This is where a lot of the 3rd party tools loose me. And it's like none of them test their software on really busy systems. If they did, they would see what they do to the systems and either fix their product, or scrap it altogether. But that's not what happens. So they either test and they don't care, or they don't care so they don't test. Or maybe they just want their tool to be used on systems that aren't suffering from severe performance problems. Maybe they're only for moderate problems. Well, how do you know what kind of problems you're having until you get in there, and why would you switch tools for the different types of issues? You need to find a tool that works all the time in every scenario so you can keep your settings, etc. You also don't have to worry about learning how to do things differently in different tools. So you guys come back to Perfmon. MS is doing some pretty cool things with it these days in Vista, and I would imagine in Server'08 too.
Posted by Sean McCown on August 24, 2007 12:13 PM
RATE THIS ARTICLE:
-

- COMMENTS
My usual tool is even simpler: I just use Task Manager. Sure, it's simplistic. However it's everywhere, easy to use, and even non-technical folks can understand it.
It automatically and dynamically scales it's vertical axis which I appreciate a lot. It represents each processor, HT unit and core individually and has a tiny little consolidated counter too. Memory use is shown clearly. You can separate OS overhead from application activity.
Since Windows XP it has had a Network tab which is helpful too. The main thing it lacks is a simple disk pool tab, for activity levels there.
Our databases are stable and we've long ago performance profiled them. We know what their strengths and weaknesses are. TaskMan can meet our operational monitoring needs; for the most part we don't need a whole lot more.
ctrl-h will highlight in the graph the counter you are looknig for in the bottom pane.
I too use this almost exclusively. Why? As a consultant for many years in Dallas, this was the only performance tool I could rely on to be available.
Now with SQL2005 some of the performance views are becomming more important, but this is still the tool that sits running on the server 99% of the time for me to take occasional peaks at, or switch to if someone complains about performance.
Posted by: Anders at August 27, 2007 12:16 PMTOP STORIES
Hyperconnected users growingSteve Jobs to keynote WWDC
CSC settles kickbacks case
MS previews SMB software
What does HP-EDS really mean?
Mac Office 2008 SP1 released
HP buys EDS for $13.9 billion
Corporate IT spending slows
MS targets smartphone market
Sun to clarify JavaFX plan
ADDITIONAL RESOURCES

- Application Security: Threats and How to Counter Them
- Why Linux Threats Mean Business
- Virtualization: A Step by Step Approach to Success

- Is your smaller organization ready for High Availability?
- Is system maintenance doing more harm than good?
- Virtual Test Lab Automation: Manage development infrastructure





