51Testing软件测试论坛

标题: 分析 JMeter 应用性能测试结果 [打印本页]

作者: 测试积点老人    时间: 2019-1-10 17:05
标题: 分析 JMeter 应用性能测试结果
本帖最后由 测试积点老人 于 2019-1-10 17:06 编辑

JMeter是一款非常流行的开源负载测试工具,得益于基于Java的扩展点,它有着强大灵活性。但分析结果的数据不能与其他程序衔接。关于这点,最近 PerfBytes 的博客也有所提到,因为JMeter自身并不能提供良好的数据可视化,大多数用户会将JMeter的结果同步到外部的仪表显示的解决方案中。


为了避免一定要去安装Elastic Search, Splunk 或其他外部的分析解决方案,我希望给你展示怎样较容易的同步数据到Dynatrace AppMon中,这个过程使用的是免费的Dynatrace Personal License。以此将JMeter和性能监测的数据在一个单独的仪表盘中显示,这样使得性能分析和问题诊断更加容易。


[attach]120886[/attach]


步骤 0: 安装Dynatrace

如果还没有Dynatrace,你可以注册一个 30天免费试用 的,它可以自动转化为终生的个人证书。个人证书能体验到所有的本地测试的产品特性。我还有一个YouTube 入门 ,它展示了“Dynatrace到底是什么?怎样入门?”,说句公道话,是否真的是应用栈的工具?


步骤 1: 安装泛型数据监测插件

为了在Dynatrace中适应任意的数据类型,我创建了一个你可以从Dynatrace仓库下载这款插件的最新版本。通过“服务器设置”对话框进行安装插件,然后在系统配置中配置每10秒运行一次。通常情况下,这款插件会开放一个REST监听 ,网址:http://yourcollector:4000/genericmonitor (可以修改).

如要验证插件是否运行正常,可以按照我在GitHub页面描述的那样验证一下。


步骤2:JMeter流结果导入到Dynatrace

JMeter提供了一个BeanShellListener扩展,我们可以使用他得到采样器的每一个结果。所有你需要做的是为你的测试计划或者线程组创建一个BeanShell监听器,然后复制我已经上传到GitHub上的JMeter SampseScript项目中的BeanShellListener中的Java代码。


[attach]120887[/attach]


这个JMeter BeanShell监听器将流结果数据流到Dynatrace。


步骤3:运行你的测试项目

我想我不需要告诉你如何运行你的JMeter测试。所以,让他们运行起来吧!


步骤4:查看Dynatrace中的结果

在GitHub页面上,我增加了一个Dynatrace Web Dashboard。你可以通过连接http://yourdtserver:9911/index.jsp#dashboard-selection-list轻松的打开你的Dynatrace Web Dashboards。登录后点击导入并导入JMeterDTWebDashboard.dwd文件。将数据源换成你的系统配置文件。现在你应该看到左上角的JMeter相应时间概览分解成线程组名称,以及Dynatrace性能数据,如从应用程序获取的响应时间,执行SQL查询数量,异常抛出数量和调用了多少内部web服务—基本上如本文介绍中使用的截图。


步骤5: 性能热点诊断

根据Dynatrace Web Dashboards中的如下截图,我们可以得到一些额外的想法:


[attach]120888[/attach]
Dynatrace Loat Testing Dashboard用于识别架构性能热点,如负载平衡不足或CPU、线程、内存等关键资源不足。















欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2