分析 JMeter 应用性能测试结果 已翻译 100%

oschina 投递于 2016/10/31 14:14 (共 5 段, 翻译完成于 11-01)
阅读 5311
收藏 8
0
加载中

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

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

imqipan
翻译于 2016/10/31 17:36
0

如果你想听从我的博客上的建议或是简单的观看我在YouTube上面录制的视频度量驱动的可持续化交付性能的门诊部(Metrics-Driven Continuous Delivery Performance Clinic),你将收获不少:

LIVE JMeter使得Dynatrace仪表板与关键应用程序和基础架构措施相关联 !

步骤 0: 安装Dynatrace

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

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

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

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

imqipan
翻译于 2016/10/31 18:36
0

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

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

这个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服务—基本上如本文介绍中使用的截图。

wnull
翻译于 2016/10/31 21:23
0

步骤5: 性能热点诊断

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

  • 左上:相应时间和负载由逻辑应用层分隔。告诉我们负载平衡器是否正常工作,或者是否真某些正确的后端上加载出现了异常情况。

  • 右下:CPU在应用层,告诉我们是否有单个过载的网页或者应用程序服务。

  • 右上:应用程序和网页服务器上的工作线程利用率。易于发现由于配置不正确造成的线程耗尽或者“线程泄露”。

  • 右下:Java和.Net层的内存行为。使内存泄漏、由于高内存使用率引起的性能问题和内存不足造成的崩溃问题容易发现。

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

wnull
翻译于 2016/10/31 20:43
1

工程师:是时候开始你自己的JMeter引擎了

这只是一个开始,但是是一个非常好的通过2个强大工具联合数据的方法。我现在已经分析过JMeter和Dynatrace的结果。大部分我们看到的实际的应用性能和扩展性问题是因为无效的数据库存储、资源泄露、差代码和差的配置。Dynatrace给你更多的详细的加载测试数据去分析这些问题。我还把这些教程上传至油管,你可以点击查看:


翻译于 2016/10/31 16:38
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(0)

返回顶部
顶部