Performance Tuning

Performance tuning is a very broad subject, and something which must be approached with great caution.

Making untested changes that have been *guaranteed* to give you positive results could have a detrimental effect on something else. The best place to start is with the business;

  • What performance level can the business tolerate?
  • Are there processes such as the end-of-day process that put strain on the system?
  • When does the daily reporting take place?
  • What is the transaction time for an OLTP environment?
  • Etc, etc…

When you have this, it gives you something to compare against. You can measure the performance of different areas of the application and compare them to this. If performance exceeds expectations, they can be scrubbed off the list. Too close and it’s perhaps worthwhile investigating potential improvements. Below expectations, and it’s a definite candidate for tuning.

Performance tuning almost always comes down to your specific environment. Just like no 2 snowflakes are the same, no 2 systems will run the same, no matter how identical they are (or seem).

There is only so far you can go with best practices, and sometimes these best practices are not necessarily applicable to your environment (though they should always be considered first). So few performance tuning best practices are guaranteed to yield positive results, and so they should always be tested rigorously before being introduced into an existing production environment. Only those recommendations/best practices that truly apply should be implemented. A note of each change and a rollback plan should also be documented within your build guide.

It is fine to want things to be as fast and optimized as possible, but tuning for tuning’s sake is not always the best thing to do. You can spend weeks, even months and years, tuning your environment to operate at its peak, only to find the hardware is then out of support and the cheque book comes out for some new hardware. Then you start all over again! Get your business requirements, and just make sure they are met. If they are all met, you’re as optimized as you need to be! Now all you have to do is keep them there ( 😉 ). Just remember to read any relevant documentation, take notes of any changes you make and write up a rollback plan for each (as simple as that may be), and above all test, test, test!

Tom Moore

Contact Us