At the end of this long journey, we have covered many aspects of performance tuning. One of the hardest tasks when writing this book was describing a complex process like tuning in the most practical way, without sacrificing too much theory. As a matter of fact, most people like to think that performance tuning is nothing but a silver bullet which can be shot at any time. Frustrated by tight deadlines and intense pressure to reach their goals, they misunderstand the precise role of performance in the software lifecycle.
Some quick tips do exist and this book has not been parsimonious at showing a great deal of them; but they are there just to enhance the performance of a well-written and designed application or to mitigate the effect of bottlenecks we do not have any control on it.
The real secret behind a lighting fast application is a good tuning methodology, which starts right when application requirements are defined and continues until its last mile, when the application is rolled in production. We are certainly aware that this is a questionable statement as many architects deliberately exclude the tuning methodology from any design strategy. We do not claim that our choices are better than other's. What we do believe is that, without a special virtue called flexibility, architects will have a hard time to survive these turbulent years.
A flexible architect re-uses his/her wealth of experience, including both successes and failures. At the same time, the flexible architect is open to new suggestions and can fearlessly and strategically adapts his/her mind.
As time passes, inevitably some of the tips presented in this book will go stale and new great instruments will appear on the market. In the end, what (we dare to say) will stay the same is that good performance is not accidental; it takes planning, expertise, and plenty of testing. It needs that, when you define your performance requirements, you won't be satisfied with a generic "fast" word from your customers but pretend an exact measure of your performance goals and build a plan to support them. Without all these things, tuning is almost a bet. And you know that if you are a frequent better, you are also a frequent loser.