| http://www.MianFeiLunWen.com 免费论文网 2007-1-4 11:23:58 |
| ------------------------------------------[发送]-[打印]-[投稿]-[VIP]--------------- |
第三方面是对应用系统进行相应的优化以提高性能。 Web服务器配置及相应的硬件扩展不失为解决系统性能问题的一条捷径,但应用系统的优化也是应该重点加以考虑的,毕竟它能够在投入较少的情况下提高系统的运用效率。 在开发的初期,我们就已经十分注意系统的利用效率,比如提醒程序员尽量不要利用用户会话信息(Session)来传递大的对象,对于内存要注意回收等。同时,通过内部的交流会推广与介绍一些小的、有用的编程技巧来提高开发人员的水平,通过代码的抽查,希望能在早期就发现问题等。 在系统运行期间,我们通过监控发现,应用服务器所基于的Java虚拟机,其内存堆的空闲空间有不断下降的趋势,每隔若干天导致空间消耗殆尽、无法分配新对象空间,从而导致系统重启。在排除了系统本身问题的原因外,我们确定为应用系统的开发有问题。通过从网上万载IBM公司检测Java虚拟机的相关工具对JVM进行监控后终于发现系统内部存在着不能回收内存的对象,再通过查找相应的程序发现在该程序中有“环状”的对象引用,从而导致对象使用后不能被垃圾收集器所回收。这个问题的解决过程虽然十分艰苦,但由于该问题不能通过升级硬件或增加资源配置而得到根本解决,会给系统带来很大的隐患。所以,整个过程的分析与解决是完全值得的,更何况通过查找故障原因的过程,给整个项目组上了生动的一堂软件质量保证课,对项目组的质量意识起了很大的促进作用。 所以说改进Web服务器的性能井不单纯是系统管理方面的工作,它渗透到开发以及 系统运行等一系列环节中。 第四方面预先考虑未来的扩展与性能需要。 随着系统的发展及成熟,考虑到用户访问量的不断上升,为了预留系统的发展空间,我们最近又对整个系统作了一个系统性的升级。通过引入多台HTTP服务器及应用服务器并行工作提高整个系统吞吐量及单点故障克服能力。由于在一开始选型的时候就已经充分考虑到动态负载均衡及横向扩展方面的需要,这一项的升级无需对整个系统的体系结构作根本的变革,对应用程序来说,更是没有造成任何影响。 整个项目历时近两年,从这两年的系统情况来看,整个系统是成功的。根据我亲身的经历,系统性能并不单纯是系统运行与管理阶段的问题,而是渗透在项目论证、开发以及运行的各个阶段。只有在各个阶段都能充分考虑性能方面的需要,在实际运行时,整个系统的性能才可能真正有保障。在技术方面来看,可以综合利用选型评估、硬件扩展、应用优化和系统配置优化等一系列的手段;比如在硬件扩展方面,又可以分为主要部件扩容,纵向升级、横向升级等方面。在我们的项目实践中,曾综合地利用了上述的各种手段。比如某银行的整个系统从日访问量不足1万至现在的每日超过I0万次以上的点击的发展情况来看,整个系统的性能保障及提高方案是比较成功的。 评注:实践过程较有说服力。条理与思路相当清晰,技术措施与管理措施的推进也很明确。所论述的技术还有一些局限,不够开阔。(本文主要参考了广州黄昌湛等人的论文)
|
| -------------------------------------------------------[发送]-[打印]-[投稿]-[VIP]-- |
|
|