本文主要讨论在使用Dorado的过程需要注意的一些与性能相关的要点和技巧,其中也会涉及到小部分Dorado之外的知识,如HTTP、Java、SQL等。
一般而言,当Web应用的性能出现问题时,可能与Dorado的使用方式相关外部资源的主要有5点,按照的他们对于整体性能影响的关键程度排列如下:
- 数据库 - 数据库服务器的负荷过高可能是由于低效的SQL引起的;或者是由于应用当中的运算逻辑设计不当,导致数据库被频繁访问或死锁。
可能导致的响应速度差异:10倍数量级
出现的几率:高
- 客户机CPU - 由于Dorado的客户端主要通过HTML+JavaScript构建,因此Dorado应用的界面相应速度与客户机CPU的运算能力直接相关。并且由于JavaScript本身是一种"解释型"的语言,不同的编程技巧可能导致迥然不同的性能表现。
可能导致的响应速度差异:10倍数量级
出现的几率:较高
- 网络带宽 - 当客户端页面的界面设计不够合理时,例如在单个页面中堆放了过多的组件;包含了大量不可缓存的JavaScript;未被清理的垃圾数据都有可能造成单个页面的体积过大,从而导致网络传输环节的性能瓶颈。
可能导致的响应速度差异:2倍数量级
出现的几率:较高
- 服务器内存 - 当Dorado中的部分环节设计的不够合理时可能导致对服务器内存的过程使用,最终造成JVM频繁的执行垃圾回收甚至停止响应。
可能导致的响应速度差异:2倍数量级
出现的几率:一般
- 服务器CPU - 服务器CPU的负荷过高可能是由于低效的算法或不良的编程习惯导致的。
可能导致的响应速度差异:2倍数量级
出现的几率:一般
由于Web应用的性能优化是一个很大的课题,而本文的讨论重点是Dorado的使用技巧,因此对于其中的部分内容只会做简要的叙述。要了解更多关于Dorado之外性能优化细节请参考下列文献:
- 《Oracle performance tuning》
- 《Effective Java》
- 《Web性能优化》