在这里不想用一些抽象的概念去说明问题,只是用通俗的语言尽量准确的表达我的想法。优化,为什么要优化?你说一个系统需要优化,那你衡量的标准是什么?无非两个方面,(1)响应时间,具体说就是用户发出请求到收到响应的时间间隔。如果目前你的用户没有感觉响应时间长,那就不要给你自己找事了。(2)吞吐量,就是单位时间内完成的用户或系统的请求数量。但有时候这两点是矛盾的,你得做出平衡。让这两点达到一个合理的范围。
确定了优化的目标,那就该为达到目标寻求达到目标的路径。就本人5年的Java的开发经验以及系统管理的经验来说,从下面两个方面的优化去达到我们的目标:
一,系统级优化
系统级优化是不是感觉太大了,说白了就是系统资源的分配,系统资源就是CPU,内存,存储(I/O),网络和串行通信。
二,应用级优化
应用级优化就是应用程序的架构设计,程序逻辑是否发挥了系统的优势。
优化,说到底就是跑在系统上的应用是否高效的利用了系统资源。
要知道,既然要优化,就必须要调试,因此在调试的同时,调试工具本身也会对系统的性能有影响,所以在做性能分析与调试的时候要使用多种工具去分析资源的瓶颈,而且,性能优化不存在唯一值或者最优值。
性能分析调试的原则:
1,如果你不懂,不要对系统的参数进行随意的改动。
2,每次只对一种系统资源进行系统调试。
3,每次改动尽量少的参数设置,推荐每次修改一个设置。
4,分析一项系统资源时,使用多种工具。
5,不及胜于过之。
OK,概述的话就这些了,有不当之处,多多指教。
对不同资源的分析调试的工具,在我的其他Blog中有介绍,可以适当参考。http://space.itpub.net/8554499/viewspace-580463