一种国产基础软件集成应用性能测试平台设计与实现
2012-08-06陈磊高炽扬
陈磊 高炽扬
中国软件评测中心 北京 100048
0 引言
近些年来,随着国家支持力度的日益加大,我国国产基础软件得到了快速发展,产品也越来越成熟。目前,已经有很多集成应用采用了国产基础软件,这也对基于国产基础软件的集成应用的关键测试技术的发展提出了迫切需求。为了更加准确、更加有效、更加及时的对国产基础软件集成应用的性能进行评价,诊断性能瓶颈,助力国产基础软件的发展。本文结合国产基础软件的特点,本文介绍了一种国产基础软件集成应用性能测试平台,并通过对国产基础软件集成应用的性能测试对该平台进行了验证。
1 国产基础软件集成应用性能测试平台设计和实现
1.1 国产基础软件集成应用性能测试平台总体设计
国产基础软件集成应用性能测试平台主要包含了基于HTTP协议的性能测试工具、国产操作系统资源监控工具和集成应用故障诊断工具。这三个工具之间采用松耦合的方式设计,之间通过文本文件进行数据的合并。国家基础软件集成应用性能测试平台系统结构图如图1所示。
1.2 基于 HTTP协议的性能测试工具设计和实现
基于HTTP协议的性能测试工具是由HTTP消息记录端和压力控制两部分组成,其中HTTP消息记录模块主要是捕获用户操作的会话过程,记录下对应会话的用户行为,并生成一时间序列为基准的脚本文件。压力控制主要是对性能测试的启动、停止等控制以及显示测试状态、控制测试进程和设置测试策略等辅助性能测试(如图2)。
图1 国产基础软件集成应用性能测试平台结构图
该性能测试工具主要通过代理服务器截获用户访问的行为,通过格式化模块将其转换成本统一格式后,再将其按照时序先后保存到脚本当中。压力控制部分主要通过多线程技术模拟多用户同时访问的方式进行性能测试,同时通过委托方法将各个用户行为的响应时间传递给性能测试工具,并进行记录(如图3)。
图2 基于 HTTP协议的性能测试工具数据流图
图3 HTTP消息记录模块流程图
该性能测试工具是通过记录在测试脚本文件中的用户行为回放实现用户行为的模拟的,通过多线程实现了并发的模式(如图4)。
图4 基于 HTTP协议的性能测试工具截图
1.3 国产操作系统资源监控工具的设计和实现
国产服务器操作系统资源监控工具采用了SSH协议远程连接被监控服务器操作系统,通过运行获取虚拟文件系统中对应的系统资源信息,并以文本的方式传输监控结果实现服务器资源的数据采集(如图5)。
图5 国产服务器操作系统资源监控工具数据流图
本监控工具通过多线程方式实现了同时监控多台国产服务器操作系统,通过应用委托的方式将多线程监控结果回传给UI显示。国产服务器操作系统资源监控工具总体流程图如图6所示。
图6 国产服务器操作系统资源监控工具流程图
国产服务器操作系统资源监控工具依据上述算法,通过配监控服务器配置信息表,建立多线程启动监控算法。同时通过动态曲线控件动态的展现各个指标的曲线实施图形。程序截图如图7所示。
图7 国产服务器操作系统资源监控工具截图
1.4 集成应用故障诊断工具设计和实现
集成应用故障诊断工具是C/S结构的工具,信息收集服务部署到国产中间件上的诊断服务来进行的,诊断服务通过JMX收集所有运行在该中间件上的应用的状态。通过网络将收集到的数据传输给客户端,客户端通过诊断分析模型对运行在中间件上各个应用进行分析,同时显示诊断分析结果(如图8)。
图8 集成应用故障诊断工具数据流图
集成应用故障诊断工具的诊断分析模型是共分为两层分析,首先通过分析是否存在异常信息预警服务错误,其次通过预设资源阀值预警资源过度消耗。通过故障映射表进行故障信息诊断结果(如图9)。
该诊断工具通过将信息收集服务部署到过程中间件之上,经由客户端输入中间件WEB服务地址和端口号与信息收集服务进行通信,再有本地算法进行诊断分析,同时显示诊断结果,并将故障服务高亮显示,程序截图如图10。
图9 诊断分析模块流程图流程图
图10 集成应用故障诊断工具客户端截图
2 结论
本文介绍了一种针对国产基础软件集成应用的性能测试平台,该平台包含了性能测试工具、监控工具和诊断工具,同时介绍了各个工具的工作流程、设计方法和工作原理。目前该平台已在部分国产基础软件集成应用平台的系统验收测试中得到了应用,且取得了初步成果,该平台的正确性、可用性等都得到了验证,但是由于该平台还处于不断完善的阶段,以便能够更好地应用于国产基础软件集成应用性能测试中。
[1] 多线程[EB/OL].http://baike.baidu.com/view/65706.htm.
[2] 委托[EB/OL].baike.baidu.com/view/159798.htm.
[3] 张杰,戴英侠.SSH协议的发展与应用研究[J].计算机工程.2002.
[4] 徐健,王涛.HTTP/1.1的分析[J].西南师范大学学报:自然科学版.2004.
[5] 杨柳,李志蜀,王逸飞.用JMX实现可配置的动态数据处理流程
[J].计算机应用与软件.2004.
[6] 文震,洪玫,李群慧.JMX技术在网络监控中的应用[J].计算机应用研究.2004.