当前,系统测试主要集中在功能测试、性能测试以及安全测试三大方面,对于容量测试的关注比较欠缺,特别是磁盘容量空间。从系统测试业务连续性上考虑,容量测试是其中不可或缺的步骤,做好容量测试可以进一步优化信息系统服务能力,从而提供持续、合理的系统服务。
对于容量测试,首先需要明确几个概念。容量管理,是指根据当前和未来的业务需求,在恰当的时间、以恰当的成本提供所需的IT资源。管理对象是对环境中的业务应用系统、主机平台设备、开放平台设备、网络、机房环境设施等进行容量规划。容量评估,是指对系统是否能够达到要求的生产能力,并且有一定超负荷运行能力以满足未来市场的高峰要求的评估。
本文从测试阶段出发,针对磁盘容量空间初步探索系统容量测试的方法。
一、测试计划阶段早明确
测试执行之前,首先开展测试左移,在准入前协同开发明确测试环境容量配置,预估生产环境容量配置,重点包括文件系统空间(写文件的日志)和数据库日志空间(数据库log)。其次,确定测试内容并明确测试交易的日志是否记录,对于写文件的日志通常写在程序中,对于数据库log通常有日志功能开启配置。在确定需要记录日志之后,先明确日志文件输出级别,主要包括0:0FF, 1:FATAL, 2:ERROR, 3:WARN,4:INFO,5:DEBUG,6:ALL,不同级别的日志详略程度不同,文件大小不同;再明确日志文件输出目录,便于关注相应目录的存储空间大小。然后确定测试环境容量配置,确保日志文件存储磁盘大小测试环境与生产环境一致或等比例。最后建议在总体方案中明确日志级别和容量配置,并作为评审事项。
图一 测试计划阶段容量测试工作要点
二、测试执行阶段早发现
测试执行过程中,需要对测试计划阶段明确的内容进行测试验证。
1、关注日志文件生成情况,验证日志文件输出级别及目录是否符合预期,从数量上看,日志输出目录中含正确数量的日志文件,从内容上看,日志输出目录中日志文件的级别正确。
2、关注日志文件生成速率,预防日志文件量达到磁盘容量上限,对于联机交易,评估测试环境和生产环境数据量的差异,根据测试情况,按周期(时/日/周等)查看文件系统空间中日志文件数量及大小以及数据库日志空间中系统表(含数据库表增/删/改/查等操作日志)空间大小;对于批量交易,确定铺底数据表及数据量,按节点、作业链等查看文件系统空间中日志文件数量及大小以及数据库日志空间中系统表(含数据库表增|删/改/查等操作日志)空间大小。
3、关注存储空间达到上限的情况,协助项目组解决。解决方案如下:
(1)修改:适度降低日志文件输出级别。如在不影响问题定位的前提下,将INFO级别降低成error级别,减少日志文件输出大小。
(2)清理:对于联机交易,按周期(月/季度/年等)清理输出目录中日志文件及数据库log;对于批量交易,除了按周期(月/季度/年等)清理输出目录中日志文件及数据库log,还可以增加数据库表空间回收节点,定期执行该节点,清理数据库log回收系统表空间。
(3)扩容:扩充本地主要文件系统存储空间及数据库日志空间;修改日志输出目录为NAS存储。
4、关注迁移类项目,要详细确认迁移前后生产环境配置的差异、日志类型和级别的变化。特别是,如果生产配置日志级别有升级需求,项目负责人需及时知会测试经理,并重新进行容量评估。
图二 测试执行阶段容量测试工作要点
三、测试完成阶段早处理
测试完成之后,根据测试过程中日志文件及数据库log的增长情况,协同项目经理分析确定生产环境容量配置,并由项目组提前组织人员申请生产环境资源。项目投产前,配合项目经理在投产前将系统资源及时纳入监控,包括主要文件系统存储空间、数据库日志空间;项目投产后,主动关注信息系统应用层的容量情况,关注日志输出对磁盘空间的占用情况;配合项目组跟踪处理相关事件和问题,排查问题原因,参考容量达到上限的处理方法解决问题。
图三 测试完成阶段容量测试工作要点
在系统测试过程中,针对系统容量情况做到早明确、早发现、早处理,做 好容量测试,对磁盘容量空间做到准确预估及处理,更经济地规划应用系统, 优化系统部署,完善系统测试业务的连续性。
作者:吴文锦