制定一个性能优化总体方案时应当考虑下列准则
牢记缩减回报定律最大的性能收益通常来自最初的努力以后的修改一般只产生越来越小的效益并且需要付出更多的努力
不要为了优化而优化优化是为了解除一致的约束如果优化资源不是引起性能问题的主要原因那么除非接触了主要约束否则这种优化对响应时间几乎不产生影响而且这种优化实际上会使后续优化工作变得更加困难如果有任何重要的潜在改进因素的话就在于改进某些资源的性能这些资源是影响响应时间的主要因素
考虑整个系统永远不能只有话一个参数或系统在进行任何优化之前务必要考虑它对整个系统带来的影响
一次只修改一个参数不要一次更改多个性能优化参数即使肯定所有的更改都有好处也没有任何办法来评估每个更改所带来的影响如果一次更改多个参数也不能有效判断所做的更改的利与弊如果每次优化一个参数来改进某一个方面几乎总是会影响到至少一个没有考虑的其他方面
按照级别测量和重新配置由于一次只应该修改一个参数因此一次也只能优化系统的一个级别可以使用以下的系统级别列表作为参考
l硬件
l操作系统
l应用服务器以及请求器
l数据库lSQL语句
l应用程序
检查是否存在硬件以及软件的问题某些性能问题可以通过维修硬件或者修补软件来解决如果通过维修或者修补就可以解决问题就不需要在监控和优化系统上面花费过多的时间
在升级硬件之前明确问题所在即使增加存储器或者处理器资源可以立即改善性能也应该花时间了解系统的瓶颈所在可能花钱增加磁盘存储器之后才发现系统没有处理器资源去处理它
在开始优化之前回退过程由于修改是作用在现有的系统之上的所以如果优化没有取得预期的效果甚至带来负面影响时则需要撤销那些改动因此必须对此有所准备