应用软件在生产环境下的性能预测方法

文档序号:6564693阅读:256来源:国知局

专利名称::应用软件在生产环境下的性能预测方法
技术领域
:本发明涉及计算机应用软件性能测试和性能评估,更具体地说,涉及基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法。
背景技术
:目前软件性能问题越来越受到重视,从事于独立技术市场调查的NewportGroup公司2002年报告显示53%的CIO(首席信息官)会经常关注应用软件性能,这个数字比1999年剧增了近5倍;另外有75%的CIO对应用性能能否达到期望的水平表示担心,这个数字也比1999年上升了30%。考虑到成本等方面诸多原因,许多生产应用软件都缺乏与生产环境部署完全一致的模拟环境,往往模拟环境的设备配置档次要低,而且^t拟环境没有生产环境的业务负载压力。因此,如何完成应用软件待发布的新版本的性能验证,成为一大难题。在模拟环境与生产环境配置差异较大,且没有生产环境的负栽压力的情况下,目前除本方法外尚缺乏有效的手段进行预测应用软件版本发布后在生产环境的性能表现。未充分测试的软件将对生产造成重大的影响,同时扩散到生产环节的问题如要改进,成本巨大,甚至可能是不可接受的。目前在国内软件性能测试领域,虽有少部分软件开发商会进行产品交付前的集成系统测试,但性能测试的场景设计不甚合理,未通过科学的场景定义方法进行场景设计,导致综合性能测试未能够反映应用软件实际的负栽压力模型。在性能预测手段方面更是捉襟见肘,只是通过简单的线性计算进行估计,误差很大。现有的容量规划案例均是基于在线生产应用软件的,需要获取生产环境的性能数据,只能满足在线应用软件扩容的设备选型等情况,局限性较大,未能满足新版本应用软件上线前验证、规避性能风险等情况。由前述现有技术可知,在应用系统性能管理方面迫切需要一种更为精确地预测应用软件在生产环境下的性能表现的方法。
发明内容本发明提出了一种基于低端模拟环境性能测试和容量规划的生产环境性能预测方法。根据本方面的该方法能够在模拟环境与生产环境配置差异较大,且没有生产环境的负载压力的情况下,通过模拟测试结合容量规划技术的方式,预测应用软件在生产环境下的性能表现。发明的目的是进行精准的性能预测,降低应用软件上线后在生产环境出现性能问题的概率,避免无效的硬件投资。本方法是在低端模拟环境对被测应用软件进行模拟实际业务负载的综合压力测试后,运用容量规划的手段,建立排队网络模型,合理预测应用软件在生产环境的性能表现。根据本发明,提供了一种基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法,该方法包括根据业务负栽信息,建立被测应用软件的业务负载模型;基于Little定律实现由被测应用软件的业务负栽模型向被测应用软件的业务负栽压力模型的转换;根据被测应用软件的业务负栽压力模型以及推导出来的场景,制定在低端模拟环境下被测应用软件的性能测试方案;在低端模拟环境下模拟真实业务负载的压力实施被测应用软件的性能测试,并采集被测应用软件的性能数据;以及将采集的被测应用软件的性能数据输入容量规划工具,基于容量规划预测所述应用软件在生产环境下的性能表现。根据本发明的方法解决了目前模拟环境性能测试方法未能有效模拟生产业务负载模型的问题。通过模拟环境性能测试与容量规划方法相结合的手段,提高了通过低配置的模拟环境预测生产环境性能表现的能力。此外,根据本发明的方法消除了目前的容量规划过程因基于生产环境实际性能负载数据而造成的无法在上线前进行版本验证和规避性能风险的局限性。本方法能够提高投资有效性,避免对模拟环境的巨额硬件投资,使得低配置的模拟环境也能达到满意的验证效果。以下附图构成说明书的一部分并提供对本发明的进一步说明,说明本发明的实施例。图1示出根据本发明的基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法的流程图;图2示出容量规划基本原理;图3示出容量规划的一般过程;图4示出计算机系统排队网络模型。具体实施方式在具体描述本发明的实施例之前,首先明确以下术语业务负载模型:指从业务角度对支撑应用软件的负栽进行建模的结果,包括影响应用软件性能的关键业务参数及其组合关系,可用于定义性能需求或业务预测分析,建模的主要输入有业务量统计等。容量规划:指为了确保应用软件能在将来高效地工作,将系统负栽匹配为支持此负载所需的最合适的服务器硬件的过程,用于指导容量设计和投资,以保证IT花费的合理性。做容量规划需要相应的技术手段来预测应用软件在增加负栽或用户数量时、在假定的硬件配置下能够提供的服务水平,这往往借助容量规划工具建立容量分析模型来实现。图1示出根据本发明的基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法的流程图。如图1所示,在步骤Sl中,建立^L测应用软件的业务负载压力模型,该步骤包括利用Little定律及CLOSED(封闭)型QN(排队网络)模型理论,实现真实业务负载模型向针对在低端模拟环境下的性能测试的业务负载压力模型的转换(下文中描述)。在建立了被测应用软件的针对在低端模拟环境下的性能测试的业务负载压力模型后,过程进行到步骤S2。在步骤S2中,制定在低端模拟环境下应用软件的性能测试方案。在低端模拟环境下应用软件的性能测试方案制定完成之后,过程进行到步骤S3。在步骤S3中,实施低端模拟环境下的应用软件的性能测试。在步骤S4中,采集性能数据。在釆集性能数据完成之后,过程进行到步骤S5。在步骤S5中,执行基于容量规划的在生产环境的负栽压力下的应用软件性能预测。下面,针对附图1中的各步骤进行详细的描述。建立被测应用软件的业务负栽压力模型在附图1描述的步骤Sl中,建立被测应用软件的业务负栽压力模型。为了得到准确的容量规划结果,必须得到准确的被测应用软件的业务负载模型。可以通过如下获取的业务负载信息,建立业务负载模型获取的旧版应用软件的现状信息,包括各种业务统计,历史业务量和工作量统计(包括前、后台)、历史业务操作方式和操作统计,由此整理得到各主要业务的并发数,各业务的吞吐量及各业务吞吐量的比例关系,在此基础上可以形成真实业务负载模型;同时根据各种业务交易量随时间的变化关系,可以针对不同的使用场景生成相应的业务负载模型(例如,针对平时和高峰时期,分别计算出不同的负载模型)。根据上述信息得到业务负载模型对于本领域技术人员是公知的,在此不再赘述;或者,可以根据获取的用户组织对新的应用软件的使用计划作为业务负栽信息,建立业务负载模型。根据上述信息得到的业务负栽模型主要由多个场景(例如平时场景、高峰场景等)构成,每个场景包括各个事务的并发数及其相对比例关系、吞吐速率等关键信息。由于建立的真实业务负载模型是面向真实生产环境的,不适合用于性能测试,所以可以根据CLOSED(封闭)型QN(排队网络)模型理论对业务负载模型的事务并发数信息进行转换,转换成实际性能测试的"并发数"以及"迭代间间隔"等信息,因为在低端模拟环境下的实际性能测试的"并发数"以及"迭代间间隔,,等与实际生产环境的"在线用户数,,和"操作间隔时间"是不同的,即实现真实业务负栽模型向针对在低端模拟环境下的性能测试的业务负栽压力模型的转换。在此,提出一种基于Little定律的转换方法,以实现上述的转换假定X是吞吐速率,Z是操作间隔时间,R是服务器响应时间,Z,是迭代间间隔时间,OU是真实业务场景中的在线用户数,N是低端模拟环境下的压力测试模拟的并发数,则有,真实业务场景满足X=OU/(Z+R),CLOSED型压力测试满足X,=N/(Z,+R),其中X,为低端环境下压力测试情况下的吞吐速率,Z,为低端环境下压力测试情况下的操作间隔时间,Z为真实环境下的操作间隔,压力测试必须模拟真实业务场景,则X-X,,进而可推导出N=OU*(Z,+R)/(Z+R),其中011*是模拟业务场景中的在线用户数,若Z,=0的话,则需要N-Ol^R/(Z+R)个压力测试并发数。由于此负载模型考虑了不同的应用场景和业务、用户之间的比例关系,因此更加符合实际生产情况。例如某应用软件新版本即将上线,需要预测其在生产机型II上的性能表现,目前将其部署在较为低端的试验机型I上。根据统计结果,该应用软件平时场景和高峰场景业务情况如下表<table>tableseeoriginaldocumentpage9</column></row><table>同理乂A高峰-(l謂/3★60)*50%=5次/秒XB高峰=(1800/3*60)*50%=5次/秒由于一般情况下测试不会模拟1500个用户操作,因此需要对负载进行换算,如果使用15个并发用户模拟平常压力,18个用户模拟高峰压力,完成同样频次的操作,贝'J:NA平时-15*40e/o=6+(Z,+R)A平时=6/XA平时=3禾少1\8平时=15*60%=9个(Z,十R)b平时-9/xb平时-3禾少Na高峰-18央50Yo-9个(Z,+R)a离峰-9/xa高峰-1.8详少~8高峰=18*50/0=9个(Z,+R)b高峰-9/Xb高峰-1.8浮少这样,只要能够保证IK1.8秒,则可以使用15或18个用户模拟1500、1800个用户的负栽压力。制定在低端模拟环境下应用軟件的性能测试方案在建立针对在低端模拟环境下的被测应用软件的业务负栽压力模型后,如图2所述的步骤S2制定在低端模拟环境下应用软件的性能测试方案。根据被测应用软件的业务情况推导出来的业务负载压力模型以及场景设计制定性能测试方案。性能测试方案包括环境搭建方案、数据准备方案、压力模拟方案、负载监控方案。环境搭建方案被测软件在测试环境的部署应该尽量与生产环境一致,包括软件的各种参数(如被测软件的队列长度、数据库参数等)、部署方案(使用几台服务器,分别部署被测软件那些模块等)应该尽量与生产环境一致。数据准备方案测试环境中的背景数据和测试数据应该尽量反应生产系统状况。对被测应用软件性能影响较大的数据,在数据量和数据分布上不应该与生产环境有较大的差异。压力模拟方案性能测试过程中,对被测应用软件施加的负载压力必须根据业务负载模型建立,各个主要业务的比例必须与负载模型中的比例一致。鉴于实验室使用了较低端的服务器,负载压力不可能与生产环境一致,可以按比例减少压力,保证性能测试在低端环境下可以顺利完成。例如根据上面例子,算出了性能测试的负载压力的并发数(N)及每个业务间的间隔(Z,+R),但是由于测试使用的机型I比生产环境的机型II低端,针对高峰测试无法保证R〈1.8秒,则(Z,十R)也无法保证小于1.8秒,因此测试无法顺利进行,此时可以将(Z,+R)放大一倍到3.6秒,此时压力减少了一倍,只需保证R<3.6秒即可以顺利完成测试。负栽监控方案在性能测试过程中,必须对被测应用软件所消耗的系统资源进行监控(包括CPU、磁盘IO等),监控结果将用于后续的容量规划。例如根据上面例子,可选用本领域技术人员公知的TeamQuestView做为监控工具,监控被测软件在测试过程中耗用的CPU和磁盘IO资源等。实施低端模拟环境下的应用软件的性能测试在模拟环境性能测试方案制定完成之后,如附图1中的步骤S3所述的实施低端模拟环境下的应用软件的性能测试。其中按照测试方案,可开发相应的性能测试脚本,进行性能测试。根据测试方案开发相应的性能测试脚本对于本领域技术人员是公知的,对此不进行详细描述。采集低端模拟环境下测试的性能数据如附图1中的步骤S4所述的,在低端模拟环境下的性能测试过程中,性能监控工具(如本领域技术人员公知的TeamQuestView)釆集性能数据,以在下一步将该采集的性能数据导入容量建模工具。其中监控包括系统负载(应用软件的各个模块)监控和基础指标(CPU、磁盘IO等)监控以及它们之间的組合关联监控,提供的性能数据包括诸如各个基础部件(CPU、磁盘IO等)的总利用率、各个系统负载对各种基础部件的占用率、各个系统负栽的响应时间及其构成(按基础部件分解)、各个基础部件服务时间与等待时间的比例等详尽的信息。基于容量规划的应用软件性能预测在上述的性能数据的采集完成之后,如附图1的步骤S5所述的执行基于容量规划的应用软件性能预测。利用上述步骤S4中获取的模拟环境性能测试的性能数据,在容量规划工具(如本领域技术人员公知的TeamQuestModel)中建立基于排队网络的性能模型,即以在模拟环境模拟真实业务负载的压力测试中获取的性能数据,作为容量规划过程建立性能模型的输入,由此可以实现在上线前进行版本验证和规避性能风险的目的。其中图2示出了容量规划过程的基本原理,图3示出了容量规划一般过程,图4描迷了计算机系统的排队网络模型。上述的容量规划过程的基本原理,容量规划一般过程,以及计算机系统的排队网络模型对于本领域技术人员是已知的,因此,不进行详细描述。此外,根据获取的性能数据利用公知的容量规划工具建立基于排队网络的性能模型对于本领域技术人员是已知的,在此不进行详细描述。其中在利用容量规划工具(如TeamQuestModel)根据模拟环境性能测试的性能数据建立系统性能模型后,输入各种What-If假设性条件,可以进行应用软件性能预测。What-If假设性条件就包括了生产环境的设备,以及现在或者未来的生产环境业务负载。容量规划模型能够预测在这些What-If假设条件组合下应用软件的性能表现,包括CPU和磁盘IO利用率,响应时间,排队时间等等指标。例如此时可以将测试过程中TeamQuestView采集到的各场景负载数据输入TeamQeustModel,使用TeamQuestModel通过被测软件在低端的试验机型I上的性能表现,预测该软件在生产环境的负载压力下,在生产机型II上的性能表现。虽然本发明的详细说明是针对示范实例的,但对于本领域技术人员来说,这些实施例的各种修改形式以及替换形式都是可设想的。因此,本发明涵盖了所有在所附权利要求明确的本发明专利保护范围内的修改形式和替换形式。权利要求1.一种基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法,该方法包括根据业务负载信息,建立被测应用软件的业务负载模型;基于Little定律实现由被测应用软件的业务负载模型向被测应用软件的业务负载压力模型的转换;根据得到的被测应用软件的业务负载压力模型以及场景,制定在低端模拟环境下被测应用软件的性能测试方案;在低端模拟环境下模拟真实业务负载的压力实施被测应用软件的性能测试,并采集被测应用软件的性能数据;以及将采集的被测应用软件的性能数据输入容量规划工具,基于容量规划预测所述应用软件在生产环境下的性能表现。2.4艮据权利要求1的方法,其中所述性能测试方案包括环境搭建方案、数据准备方案、压力模拟方案和负载监控方案。3.根据权利要求1的方法,其中根据获取的旧版应用软件的现状信息作为业务负载信息,建立被测应用软件的业务负载模型。4.根据权利要求1的方法,其中根据获取的用户组织对新的应用软件的使用计划作为业务负载信息,建立被测应用软件的业务负载模型。5.根据权利要求1的方法,其中基于容量规划预测所述应用软件在生产环境下的性能表现包含根据低端模拟环境的性能测试的性能数据建立系统性能模型后,输入各种假设性条件,进行应用软件在生产环境下的性能预测。6.根据权利要求5的方法,其中性能预测参数包括CPU和磁盘IO利用率、响应时间、排队时间至少其中之一。7.根据权利要求1的方法,其中所述场景至少包括平时场景和高峰场景之一。8.根据权利要求1的方法,其中基于Little定律的转换包括事务并发数信息的转换。9.根据权利要求8的方法,其中事务并发数信息的转换满足N=OU*(Z,+R)/(Z+R)其中N是低端模拟环境下的压力测试模拟的并发数,OU是模拟业务场景中的在线用户数,Z,为低端环境下压力测试情况下的操作间隔时间,R是服务器响应时间,Z为真实环境下的操作间隔。10.根据权利要求3的方法,其中所述旧版应用软件的现状信息至少包括各种业务统计、历史业务量和工作量统计、历史业务操作方式和操作统计之一。11.根据权利要求1的方法,其中所述根据业务负栽信息建立被测应用软件的业务负载模型包括根据各种业务交易量随时间的变化关系,针对不同的使用场景生成相应的业务负载模型。全文摘要一种基于低端模拟环境性能测试和容量规划的应用软件在生产环境下的性能预测方法,该方法包括根据业务负载信息,建立被测应用软件的业务负载模型;基于Little定律实现由被测应用软件的业务负载模型向被测应用软件的业务负载压力模型的转换;根据被测应用软件的业务负载压力模型以及推导出来的场景,制定在低端模拟环境下被测应用软件的性能测试方案;在低端模拟环境下模拟真实业务负载的压力实施被测应用软件的性能测试,并采集被测应用软件的性能数据;以及将采集的被测应用软件的性能数据输入容量规划工具,基于容量规划预测所述应用软件在生产环境下的性能表现。文档编号G06F11/36GK101211311SQ20061017116公开日2008年7月2日申请日期2006年12月25日优先权日2006年12月25日发明者宋平波,张玉忠,雄徐,杨润华,胡欣欣,蔡坚铮申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1