QWANtify is excited to announce, effective May 1, 2010, their purchase by Safe Bridge Solutions, Inc. of Madison, WI. Read More »

Performance - Part 2

Performance Tuning - And So It Begins

So, you have just been told you are responsible for performance tuning the application that will save the company. Congrats and welcome to your worst nightmare! :-) Okay, it won't really be that bad, because you won't have time to sleep, so you won't have nightmares. Thanks to JMS for the title to this post. In case you ever happen across this JMS, thank you for creating Babylon 5, and if you ever make Mr. Garibaldi fall of the wagon again... sorry, I am getting off topic.

The first thing you should do is find out who decides what fast enough is. I mean who really decides it. Sure, the users may say they can control if a project goes live or not, but who really does. Usually some management group. Then, you need to find out what is fast enough to those people. Is 90% of responses in 5 seconds fast enough? Probably not for an Internet site, but might be for an Intranet site that does a lot of back end work and has a lot of data on each page. If 5 seconds is acceptable, then don't waste your time trying to speed up requests to 1 second. Once every page is responding at 5 seconds, then make things better. Also, if the goal they give you seems impossible, don't say so yet. Remember, you don't know what you don't know, so how can you make an argument that it is impossible?

Make sure these people receive constant communication from you. Flood them with it if needed. Make sure they understand the metrics you will be reporting to them. That way they can see the progress. You are probably not going to be able to go in and make a few changes, and then say "done". So, they will need to understand how to see that little successes are being made. Don't be afraid to tell them you are trying something and then report that it didn't work. Performance tuning is all about failure and learning from it. Performance tuning is like an Ogre. It has layers! Sorry, had to make the Shrek reference. It's one of the tricks I use to remember that concept.

Okay, great, you've got your goal. STOP! Don't start running performance tests yet. Who are the rest of the people that influence if you are successful or not? Is there a user that must be pleased? If so, are that user's expectations reasonable and in-line with your goal? Do they have any additional metrics you should be reporting? If not, how will you handle that? Are there admins who run the servers that are watching how much of their systems you are taking up? If you take up too many resources, they are going to have to request more hardware and software. So, what are their concerns and what sort of price tags are attached to them? Do their expectations match up to your goal? Do they have any additional metrics you need to report?

which means other expectations Odds are that every person's expectations will not match the goal. So, you need to start deciding how will you handle this. Performance tuning is a balancing act. You can always do more, but when is enough enough, and how do you get everyone to go along with that? There is no answer I can give you for this. It depends on your situation and the culture you are in. If the project really is the project to save the company, then management probably wants it out now,are irrelevant to management. If that is the case, watch out. You are going to be target for a great many things during the tuning and after. If no one uses the product, and it doesn't save the company, it may be because the users were right and the system wasn't fast enough, even though management said it would be effective.

I suppose JMS would sum up this whole article with: "Whom do you serve? What do they want?"

-Kevin Runde

Filed in: Team Member Blog Comments (0)

Comments

There are no comments for this entry.

Commenting is not available in this section entry.