论文部分内容阅读
摘要:为了克服计算系统运行环境的多变性和数据采集周期的长期性,采用了系统仿真实验的方法,通过配置Jmeter分布式测试结构模拟了实际计算系统的性能衰退过程。并以Linux系统下的web服务为例,模拟了其性能衰退过程,达到了预期的效果。
关键词:计算系统;仿真;分布式;性能衰退
中图分类号:TP338 文献标识码:A 文章编号:1674-7712(2012)16-0036-02
一、引言
在过去20年里,计算系统的性能迅速提高,计算机的处理能力和存储能力上升了好几万倍,通讯速度提高了上千万倍。计算机已广泛应用于各行各业、各个领域,与此同时,计算系统也变得日益复杂,越来越多的操作和监控任务已经超过了人类能够负担的范围;大型计算系统的代码多达数千万行,导致其维护越来越困难,系统的复杂性已经成为性能保持稳定和继续提升的瓶颈[1]。而且计算系统在长时间的持续使用过程中,性能经常出现持续衰退甚至失效。
另一方面,人们对各类计算系统的可靠性要求却越来越高,如果计算系统在运行过程中性能出现衰退,不能在规定的时间内稳定可靠地工作,将会造成巨大的损失;如果计算系统本身是分布式的网络系统,则部分计算机的性能失效或衰退则会导致更大范围的故障,以及更大范围的用户的不满意,从而增加计算系统的总拥有成本;因此研究和发展计算系统的软件衰退诊断技术势在必行。
二、计算系统性能衰退仿真环境
(一)ApacheJmeter环境概述
对于一个可以稳定运行并提供长时间服务的计算系统,要研究其衰退过程和衰退规律,必须长时间的采集大量的数据,有时需要几个月甚至几年的时间。另一方面,计算系统在不同的配置环境和运行环境下,衰退规律也会经常发生改变。因此,对于一个实际的计算系统,要采集到一组恰好反应系统衰退规律的数据有一定的困难。本文采用系统仿真的方法,来模拟实际计算系统的性能衰退过程,这样可排除实际系统运行过程中的意外干扰,有助于分析仿真实验数据所反应的衰退规律,并基于此来制定合适的软件抗衰策略。
(二)基于Jmeter分布式测试结构的仿真环境的配置
作为一个纯Java的GUI应用,Jmeter对于CPU和内存的消耗是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,容易引起服务器端Java内存溢出的错误,甚至导致承载Jmeter的客户端系统的崩溃。要解决这个问题,可以使用分布式测试,由多台机器运行所谓的Agent来分担Jmeter自身的压力,并借此来获取更大的并发用户数。
服务器端配置如下:操作系统为Linuxfedora5.0;通过配置Apache+Tomcat来提供Web服务,用Apache作为Web服务器,为网站的静态页面请求提供服务,使用Tomcat服务器作为一个Servelet/JSP插件,显示网站的动态页面。
三、系统性能衰退过程测试
(一)编写测试计划
(二)运行测试计划
四、结语
由于计算系统运行环境的多变性和数据采集周期的长期性等特征,本文采用了系统仿真实验的方法,通过配置Jmeter分布式测试结构,以Linux系统下的web服务为例,模拟了其性能衰退过程,达到了预期的效果。
参考文献:
[1]D.L.Parnas.SoftwareAging[C].In:Proceedingsof16thIntl.ConferenceonSoftwareEngineering,Sorrento,Italy,1994:279-287.
[2]http://jakarta.apache.org/jmeter/.
[3]http://jakarta.apache.org/jmeter/usermanual/index.html.
[4]马昕伟.linux服务器配置手册[M].北京:科学出版社,2005:31-156.
[5]VediKS,VaidyanathanK,Goseva·PopstojanovaK.ModelingandAnalysisofSoftwareAgingandRejuvenation[R].In:IEEEAnnualSimulationSymposium,April,2000.
[作者简介]韩波(1983.9-),男,河南省罗山县人,硕士,工作单位:淮阴师范学院外国语学院,主要研究方向为计算机应用。
关键词:计算系统;仿真;分布式;性能衰退
中图分类号:TP338 文献标识码:A 文章编号:1674-7712(2012)16-0036-02
一、引言
在过去20年里,计算系统的性能迅速提高,计算机的处理能力和存储能力上升了好几万倍,通讯速度提高了上千万倍。计算机已广泛应用于各行各业、各个领域,与此同时,计算系统也变得日益复杂,越来越多的操作和监控任务已经超过了人类能够负担的范围;大型计算系统的代码多达数千万行,导致其维护越来越困难,系统的复杂性已经成为性能保持稳定和继续提升的瓶颈[1]。而且计算系统在长时间的持续使用过程中,性能经常出现持续衰退甚至失效。
另一方面,人们对各类计算系统的可靠性要求却越来越高,如果计算系统在运行过程中性能出现衰退,不能在规定的时间内稳定可靠地工作,将会造成巨大的损失;如果计算系统本身是分布式的网络系统,则部分计算机的性能失效或衰退则会导致更大范围的故障,以及更大范围的用户的不满意,从而增加计算系统的总拥有成本;因此研究和发展计算系统的软件衰退诊断技术势在必行。
二、计算系统性能衰退仿真环境
(一)ApacheJmeter环境概述
对于一个可以稳定运行并提供长时间服务的计算系统,要研究其衰退过程和衰退规律,必须长时间的采集大量的数据,有时需要几个月甚至几年的时间。另一方面,计算系统在不同的配置环境和运行环境下,衰退规律也会经常发生改变。因此,对于一个实际的计算系统,要采集到一组恰好反应系统衰退规律的数据有一定的困难。本文采用系统仿真的方法,来模拟实际计算系统的性能衰退过程,这样可排除实际系统运行过程中的意外干扰,有助于分析仿真实验数据所反应的衰退规律,并基于此来制定合适的软件抗衰策略。
(二)基于Jmeter分布式测试结构的仿真环境的配置
作为一个纯Java的GUI应用,Jmeter对于CPU和内存的消耗是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,容易引起服务器端Java内存溢出的错误,甚至导致承载Jmeter的客户端系统的崩溃。要解决这个问题,可以使用分布式测试,由多台机器运行所谓的Agent来分担Jmeter自身的压力,并借此来获取更大的并发用户数。
服务器端配置如下:操作系统为Linuxfedora5.0;通过配置Apache+Tomcat来提供Web服务,用Apache作为Web服务器,为网站的静态页面请求提供服务,使用Tomcat服务器作为一个Servelet/JSP插件,显示网站的动态页面。
三、系统性能衰退过程测试
(一)编写测试计划
(二)运行测试计划
四、结语
由于计算系统运行环境的多变性和数据采集周期的长期性等特征,本文采用了系统仿真实验的方法,通过配置Jmeter分布式测试结构,以Linux系统下的web服务为例,模拟了其性能衰退过程,达到了预期的效果。
参考文献:
[1]D.L.Parnas.SoftwareAging[C].In:Proceedingsof16thIntl.ConferenceonSoftwareEngineering,Sorrento,Italy,1994:279-287.
[2]http://jakarta.apache.org/jmeter/.
[3]http://jakarta.apache.org/jmeter/usermanual/index.html.
[4]马昕伟.linux服务器配置手册[M].北京:科学出版社,2005:31-156.
[5]VediKS,VaidyanathanK,Goseva·PopstojanovaK.ModelingandAnalysisofSoftwareAgingandRejuvenation[R].In:IEEEAnnualSimulationSymposium,April,2000.
[作者简介]韩波(1983.9-),男,河南省罗山县人,硕士,工作单位:淮阴师范学院外国语学院,主要研究方向为计算机应用。