The Every Computer Performance Book

coverThis short, occasionally funny, book covers Performance Monitoring, Capacity Planning, Load Testing, Performance Modeling and gives advice on how to get help and present your results effectively.

It works for any application running on any collection of computers you have. It teaches you how to discover more about your meters than the documentation reveals. It only requires the simplest math on your part, yet it allows you to easily use fairly advanced techniques. It is relentlessly practical, buzzword free, and written in a conversational style.

Most of the entries in this blog begin with what I put in the book. The book is available from Amazon in paperback and from Apple in iBook format. Both are priced at ~$9 USD. Why so cheap? Because I retired early (mostly due to my computer performance work) and so I wanted to give back what I learned in the hopes that the next generation can do the same.


Firefighting Addiction

For those who firefight recurring performance problems, there is tremendous satisfaction in their heroic efforts. There is an adrenalin rush and a freedom of action that stands in stark contrast to the boring calm of an ordinary day. They have to act quickly and decisively without the usual 500 meetings it takes to decide anything. It’s fun, addictive and sadly I have seen many examples of key staff members who have become so addicted to the rush that they do this all the time. It seems like hardly a day, or a peak, can go by without their personal intervention.


However, I’ve noticed something about this firefighting; when I examine their efforts, in most cases, they are really not having that much of an impact on measures like throughput or response time. One person I worked with sat at his desk for the first half hour of market open and, with the dexterity of a master organist, adjusted the priorities of processes. He thought it made a big difference; so did everyone else. He was a big wheel at that company, but in this case, he was completely wasting his time.

If someone at your shop has a bad case of firefighting addiction, it is tough to wean them away from it because you (with proper performance analysis and capacity planning) are taking away one of their most “valuable” contributions to the organization. Expect resistance.

Please do not get me wrong, I love those people who have what it takes to come up with just the right fix at a critical moment and have the courage to save the day. Those moments should be rare. If those moments happen daily, then what is really needed is some serious performance work to get at the root of the problem.

Being Ready For a Performance Emergency

Saving the day when performance unexpectedly suffers takes two things: the courage to act and preparation. The courage comes from within, but being prepared is easy; it can happen daily as part of your normal work. Here are some hints:


Have a phone list

The saddest thing is to watch someone wasting time looking up a phone number in a crisis. Create a phone list, and periodically call every number on it to make sure that the number is current and the person is still responsible for the thing you think they are.

Have a checklist

Make a list of things to do and check in a crisis. In the first rush of the problem you might not use it, but when you are stumped, it is a good thing to have.

Create fast analysis tools

Most of the time your meters are monitoring your computing world at a leisurely pace. When bad things happen, waiting for these meters is agony. Create a fast analysis tool that meters and reports in less than a minute.

Understand the differences in your tools

Many companies have a mix of performance tools. In a crisis, it is easy for two people looking at different tools to confuse the situation. Work to understand the differences in these tools during the quiet times. These tools may label things differently, use different low-level meters, sample at a different rate, or average over a different interval.

Get to know the local experts before you need them

Take time in your day to find and build relationships with the other experts in your company. Notice I did not say “meet with.” Ignore the bureaucracy and talk to them as people about how you can help each other. I’ve visited many companies, and the ones that handle problems the best are the ones where the key experts all know each other well.

Master tech support

Sometimes an expert can only be reached through tech support. The first time you ever call them should not be in a middle of a crisis. Once in a while call tech support with a question. A good first question is: “I’m preparing for a possible performance problem. Tell me about the basic meters/info you need?” Learn to collect those meters.

Every tech support department has ways to prioritize calls and protect their key wizards. If you know the system, you can get what you need quickly. Learn these ways by calling before the crisis.

Lastly, every tech support person I know has this advice for you. If you act like a jerk, you’ll get their least helpful service. If you are calm, clear, and prepared you’ll get their most helpful service.  If you say “Thank you” and, when appropriate, CC their boss you’ll get better service the next time you call.

More information on this, and many other useful ideas, can be found in my book:
The Every Computer Performance Book

A short, occasionally funny, book on how to solve and avoid application and/or computer performance problems