APP下载

快速印刷管理系统自动化性能测试研究

2013-10-15薛尧予张辉

制造业自动化 2013年14期
关键词:脚本硬盘内存

王 巍,薛尧予,张辉

(国家图书馆 信息网络部,北京 100081)

0 引言

快速印刷管理系统作为一种将IT软件与数字印刷设备整合起来的系统,通常具有文献印刷数据自由存取、按需印刷、图文混排印刷、可变数据印刷、多批次重复印刷、各种厚度文献的装订等功能。该系统能否最大限度地发挥了高速数码印刷机的优势?能否在多人同时操作情况下,不会出现系统崩溃、反应滞后等问题?能否全天候正常服务并同时保证印刷质量?这些系统性能问题,迫切需要通过性能测试来进行验证,为系统的投入运行提供技术保证,从而解除用户的忧虑,防患于未然。本文就此展开论述,以一个具有代表性的快速印刷管理系统为例,探讨系统的性能测试工作。

图1 测试过程

性能测试的过程大体分为三个阶段:准备、执行和分析。此外,风险评估和控制贯穿整个测试过程始终(如图1所示)。

1)准备阶段:了解被测系统情况、测试范围、性能需求等,准备测试环境、工具、用例、数据、脚本等。

2)执行阶段:使用录制好的脚本,通过场景模拟进行性能测试,同时收集监控数据。

3)分析阶段:收集测试性能表现数据与日志,进行性能测试结果分析。

风险评估和控制:这里的风险包括测试过程中遇到的各种问题,如测试不能按计划进行、测试工具出现问题、测试数据无法使用等,也包括测试执行后带来的各种后果的风险,如生产数据被破坏、系统被压垮等。应提前考虑到各个环节可能遇见的风险,同时提出规避风险的方法[1]。

1 测试准备

1)了解被测系统情况

图2 快速印刷管理系统逻辑结构图

此系统的硬件部分由Nuver a高速数码印刷机、多台服务器、客户端PC机、网络设备等组成;软件部分由定制开发的工单管理软件、工作流管理软件、印刷控制软件和Web服务IIS、数据库SQL Ser ver等组成。其中,工单管理系统负责接收电子书数据和用户请求、对数据进行印刷预处理和格式转换;工作流管理软件负责定义数据处理的序列,控制印刷数据按照要求完成数据处理;印刷控制软件负责最终的印刷输出。

表1 测试硬件环境与软件部署

2)测试工具选择

并发性能测试是在客户端执行的黑盒测试,一般不采用手工方式,而是利用工具采用自动化方式进行。本次测试采用自动负载测试工具Load Runner,它可通过模拟真正用户的操作行为并进行实时性能监测,来帮助客户快速地查找性能问题。

3)测试范围

系统性能测试范围尽量避免大而全的测试,而是根据需求和系统特点来制定测试方案,选取可用于衡量系统性能的典型的业务流程来展开测试。测试人员经过分析,本案例最终选择“登录”、“读取MARC”、“合并PDF”、“提交印刷”等几个有代表性的功能来进行测试,其中,“登录”操作能提现B/S结构中IIS、SQL Ser ver数据库的效率,“读取MARC”、“合并PDF”、“提交印刷”能提现多用户并发读/写对服务器硬盘造成的压力。

4)测试场景

由于系统操作人员共40人左右,根据“并发在线用户数是实时在线用户数的10%~20%”的原则,将并发用户数设为4、6、8,在LoadRunner的Control l er中控制Load Generator对系统进行压力加载,观察性能表现。

5)测试数据

测试数据包括电子书数据、数据库数据和参数化数据。结合实际情况,本次测试选用PDF、TIFF两种电子书数据(共16本),每本书一个目录,其中包括图像文件、mdb文件、MARC文件等;数据库数据即在数据库中构造用户数据(操作员ID、姓名、密码、部门等字段)和书籍数据(ID、书名、尺寸、比例、数据格式、存储位置、文件大小等字段);参数化数据是用于脚本中的常量替换,由测试人员在脚本中找出需要参数化的对象,如操作员ID、密码,用参数表加以替换,从而模拟实现多用户的同时运行。

6)测试脚本

使用Load Runner的VuGen,录制系统客户端与服务器端之间的交互行为,生成测试脚本。然而录到的脚本不能直接使用,需要做参数化、变量获取(web_r eg_save_par am)、关联、设集合点等多种修改和完善,才能最终用于客户端仿真。

7)测试环境

8)系统监控

在压力加载的同时,我们对应用服务器的系统资源进行实时监控,如CPU、内存、硬盘、网络、数据库等,将监测到的数据与运行脚本返回的数据进行比较和分析,为系统瓶颈诊断提供线索。

2 测试执行与结果分析

1)测试执行

在不同并发用户数(4、6、8)条件下,分别运行“登录”、“读取MARC”、“合并PDF”、“提交印刷”脚本,发现除了在运行“合并PDF”脚本时出现操作失败情况之外,其余脚本均成功运行(如表2所示),且系统监控数据平稳,CPU、内存、网络、硬盘、IIS及数据库均未出现紧张、拥堵情况。

表2 场景运行结果表

“合并PDF”脚本运行时,分别在6个、8个并发情况下,均有1个用户操作失败,导致不能产生正确的PDF文件,且操作失败时,系统界面显示“系统忙,请稍后再试”。

结合同步监测到的系统数据进行分析,发现“合并PDF”时:

随着并发人数不断增加,CPU的平均利用率一直处于20%以下,“%DPC t ime”的值处于较低水平,处理器队列长度始终小于2,未出现堵塞;

内存基本保持稳定,并发人数增加对内存影响不大,可用物理内存始终在总物理内存的70%左右;

服务器硬盘的“Disk Transf er/sec”的值一直大于120ms,最高时达到197ms。这个参数反映硬盘完成请求所用的时间,一般而言,此值应小于60ms,过大则表示系统要求的I/O速度已接近硬盘的最大速度,需要更换更快的硬盘或更换硬盘的RAID方式;

SQL Ser ver数据库和IIS性能数据稳定,无报错。

2)结果分析

结果分析是对测试过程产生的数据及现象进行分析,判断是否符合设计用户需求、是否达到预期的性能指标,如有不达标需进一步分析原因并提出解决方法。

本案例通过对上面测试执行产生的数据进行分析,可以判断,“合并PDF”脚本运行时产生了大量的硬盘读写,特别是当操作对象是大数据文件(如TIFF格式)时,系统压力集中在硬盘上,导致硬盘繁忙无法及时响应,影响了系统性能。

因此,提出以下解决思路:

要求厂商调整软件代码算法结构、分散系统压力;

提升硬盘I/O速度或更换硬盘的RAID方式。

3 结束语

软件性能测试技术是查找软件性能问题和检验软件质量的重要手段,已经成为软件工程实施的必要环节。以LoadRunner作为测试工具,创建真实的负载并精确定位性能问题,为保证软件应用性能和软件工程顺利实施提供严谨的技术保障。

[1] 刘群策.LoadRunner和软件项目性能测试[M].北京:机械工业出版社,2008.

[2] 陈绍英,金成姬,冯艳硕. LoadRunner虚拟用户开发指南[M].北京:电子工业出版社,2009.

猜你喜欢

脚本硬盘内存
酒驾
安奇奇与小cool 龙(第二回)
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
服务器更换硬盘后的同步问题
快乐假期
小编的新年愿望
内存搭配DDR4、DDR3L还是DDR3?