(2)索引构建不合理,没有起到相应的作用。
在运行两票性能测试场景过程中,通过loadrunner的db2 performance counter监控捕获pool_index_read指标,发现此指标的值一直为0。因此,我们推断当前数据库中存在着索引构建不合理的问题。
已经查证,两票的工单存放于一张数据库表中,此表有80多个字段,而索引仅为7个。
另外,通过变电一种票的性能测试结果可以看到total_sort_time总共花费986秒,排序时间过长,说明数据库的索引没有建在order by的字段上。
具体解决建议:
与开发人员进行沟通,构建合理的表及索引。
3.硬件可能瓶颈
在负载测试过程中,曾发生过数据库服务器cpu 100%运行,memory居高不下,最终数据库服务宕掉。经检测,在操作系统中有过虚拟内存分配高达9GB,导致机子负荷过重。
具体解决建议:
鉴于此,我们建议实际生产环境上的数据库服务器内存至少16GB或更高。
11.4 总结:
从以上案例可以看出,对性能的定量分析可以在性能测试的不同阶段对不同的系统节点进行。而产品性能测试相比项目性能测试要更加复杂,产品性能测试还要加入回归周期,版本验证等因素。因此,产品的性能测试同功能测试一样,应该遵循以下几个原则:
(1)尽早开始,在整个产品测试计划之初,同时开展性能测试规划,并让性能测试团队提早参与到整个产品的需求评审、设计评审、代码走查等活动中去。
(2)每一轮性能回归测试,需要充分记录环境信息,采集更多的度量数据,以供回归测试进行参考比对分析。
(3)形成良好的可重复的性能测试过程,有助于产品性能质量的改进。
本书章节节选连载已完。想了解更多内容,请至各大书店或通过网络购买本书。
本文选自《51Testing软件测试作品系列》之八——《性能测试从零开始——LoadRunner入门与提升》。
本站经电子工业出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!
版权声明:51Testing软件测试网获电子工业出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: