对于性能测试来说,测试结果分析是整个测试流程中的一个非常重要的环节。
目前的测试工具大多只能分析出具体的性能指标值,诸如业内著名的LoadRunner和JMeter,也只是提供了吞吐量、响应时间等指标的曲线。而进一步的模块内部的性能分析,轮次间的性能比较,却还都需要我们用其他的方式去进行分析。
网易有数是一个敏捷数据分析平台,通过智能的数据可视化技术,可以将数据清晰地呈现出来,并且以各种直观的方式显示。
网易有数支持以Excel作为数据源导入,换句话说也就是只要我们可以把测试的结果信息收集汇总成Excel文件,就可以借助网易有数来进行分析。
一般性能测试数据的收集分为3部分:
当然,其他性能测试工具也会提供类似的指标。
资源利用率统计: 哨兵系统可提供所有被监控节点测试时间段内的资源利用率情况,PTP平台也会对部分指定的服务器进行测试时间段内的资源利用率采样与统计。
更多性能指标收集: 根据被测产品以及业务流程的不同,还有很多细化的指标可以用来分析产品的性能,例如性能日志打点结果、子模块内部性能等。
搜集完成所需数据之后,将数据整理到一份Excel文件内,用以导入,如图2所示:
这里需要注意的是首行作为该列的列名,长度不要大于30字符,否则可能会在导入的过程中不显示列名。
在网易有数的数据源管理中添加Excel数据连接,选择并上传Excel文件,再在数据模型管理页面中创建数据模型,不熟悉网易有数的同学可以参照官方帮助文档进行操作。
由于在步骤3.2中所有的结果均在一张Excel表内,因此在创建数据模型的时候不需要进行多表join操作。
在创建数据模型时网易有数会自动对Excel文件内的各列进行维度/度量匹配:
网易有数的维度/度量自动匹配并不一定准确,因此需要手动校验是否正确指定各列含义。
在网易有数中以步骤3.3中创建的Excel数据模型为数据源创建报表(参考帮助文档),合理地利用文本图、折线图、饼图以及筛选器等工具,网易有数就能将性能测试的结果非常直观地展示出来,以下放几个例子供大家参考:
由于性能测试结果数据的特性,度量仅有展示作用,不具有累加意义(例如10并发的TPS和30并发的TPS求和所得的TPS并无意义)。因此需要在建表时将维度的粒度设置得足够细,或者使用筛选器筛选需要展示的用例。(下同)
使用筛选器筛选出需要展示的一个用例,用双坐标轴模式可以很直观地显示出吞吐率(TPS)和响应时间随着并发度增加的趋势。并且由于筛选器的存在,可以很容易地更换需要显示的用例。
使用饼图来展示各个模块间的性能(耗时)情况,可以根据需要同时显示单一维度情况下的性能对比(不同并发数,或者不同用例等)。
当然,这里只是提供了一个使用网易有数对性能测试结果数据进行分析的方法和思路,希望能和大家一起探讨更多有趣的Idea!
本文来自网易实践者社区,经作者崔慎杰授权发布。