资讯专栏INFORMATION COLUMN

还在问用什么来做接口测试?万能Jmeter打造性能测试数据平台。jmeter 【 yyds】

notebin / 3546人阅读

摘要:况且,即便使用了插件,也不能实现历史数据追溯,数据持久化保存等功能。先来说下这套解决方案的原理,在运行过程中,将产生的性能数据写入到数据库里,然后定时从数据库中读取性能数据,并分类展示到页面上。而提供了将性能数据写入到的组件。

前 言

服务端性能测试工具中,Jmeter毫无疑问是其中的王者,拥有开源、轻便、灵活、学习成本低等等很多优点。

但是在压测过程中,也有很多不便之处,最不方便的地方,就是执行压测过程中,没有实时展示的图表。虽然也有一些插件能实现这个效果,但是这些插件都是基于GUI界面的,而真正压测的时候,都是在Linux环境中的,这些插件根本排不上用场。况且,即便使用了插件,也不能实现历史数据追溯,数据持久化保存等功能。

02

基于Jmeter的解决方案平台

今天我们来学习一种Jmeter实时性能数据展示的解决方案平台,它既能实时的、直观的展示tps、响应时间等指标,还能永久存储数据,根据日期搜索查找历史数据。

先来说下这套解决方案的原理,在Jmeter运行过程中,将产生的性能数据写入到数据库里,然后定时从数据库中读取性能数据,并分类展示到页面上。

在这套解决方案中,数据库选择是influxdb,influxdb是一个开源的时序数据库,适合存储一些跟时间有关系的数据。而Jmeter提供了将性能数据写入到influxdb的组件。

图表展示功能使用的是grafana,grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,不需要写一行前端代码,只需要简单的配置,就成开发出一个漂亮的图表监控报表页面。

平台架构如下:

03

部 署 流 程

一.安装influxdb

  • 上传influxdb-1.7.9.x86_64.rpm到Linux下任意目录

  • 执行命令安装

    yum localinstall -y influxdb-1.7.9.x86_64.rpm

    修改配置

    vi /etc/influxdb/influxdb.conf

    [[graphite]]

    enabled = true

    database = "jmeter"

    bind-address = ":2003"

  • 启动influxdb

    systemctl start influxdb

  • 通过客户端进入到influxdb中,执行命令:influx

  • 创建库:create database jmeter;

二、 安装grafana

  • 上传grafana-6.5.2-1.x86_64.rpm到任意目录下

  • 执行命令安装:yum localinstall -y grafana-6.5.2-1.x86_64.rpm

  • 启动grafana:systemctl start grafana-server

  • 在浏览器中访问grafana:http://{ip}:3000

三、 配置Jmeter

  • 编写好Jmeter脚本

  • 在测试计划下添加“监听器-后端监听器”

  • 配置后端监听器

    graphiteHost:influxdb的ip

    summaryOnly:false

    samplersList:.+(可以加过滤条件,如post.+)

    useRegexpForSamplersList:true

    其他选项保持默认

  • 执行一次Jmeter脚本

  • 进入到influxdb中,查看是否有指标数据:

    use jmeter;

  • show measurements;

四、 配置grafana

1、 登录http://{ip}:3000,用户名/密码:admin/admin

2、 添加数据源

3、 选择influxdb,进行以下配置

4、 save & test

5、 创建dashboard

6、 依次类推,创建各接口响应时间图表

7、 grafana中监听jmeter各指标解释

http://jmeter.apache.org/usermanual/realtime-results.html

五.命令行运行Jmeter,在grafana中就能看到相关的性能指标曲线图了

 

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)


 ⑤ Python学习路线图(告别不入流的学习)

在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)

可以自助拿走,群号913569736(备注“csdn000”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/118965.html

相关文章

  • 性能测试

    摘要:吞吐量一般结合业务需求而定服务器资源占用占用率内存使用率命中率篇是一种预测系统行为和性能的负载测试工具。负载测试与压力测试都是性能测试。通过平台接口可进行合理的性能测试。有利于测试人员及时定位问题。 Part 1:性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 A. 类别 性能测试包括负载测试、压力测试、基准测试等。 i. 负...

    qpal 评论0 收藏0
  • 使用jMeter对基于SAP ID service进行Authentication的Restful

    摘要:因为这个项目最后会在年月日于上海举行的云大会上展示,所以当时完成集成工作后心想,还是得提前测试一下咱们的在响应并发请求时的性能做到心里有数。 这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的阅读原文获得。后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称这种方式对他们自己的API性能测试很有用,所以我觉得还是值得用中文再写...

    longmon 评论0 收藏0
  • ❤️❤️入行软件测试坑!!!软件测试人常用的软件测试工具软件推荐❤️❤️

    软件测试工具大揭秘 前言软件测试常用软件GitPycharmBCompareTyporaXMindNavicatSublime TextPostmanFiddlerCharlesXshellXftpJmeter 前言   现如今,技术发展十分迅猛,开发者只有通过不断的学习才能跟得上时代的步伐。而为了便于学习和工作(减少996),涌现了很多优秀的开发工具用以帮助开发者提高工作效率。现在我把我工...

    frank_fun 评论0 收藏0
  • 10分钟了解Jmeter性能测试工具,懂事的已经点进来看了

    摘要:性能测试工具介绍的背景介绍过程类元件介绍结果查看类元件介绍其他介绍背景介绍是组织的开放源代码项目,是一个纯桌面应用,用于压力测试和性能测试。便于进行脚本的修改。  Jmeter性能测试工具介绍 Jmeter的背景介绍 Jemter过程类元件介绍 Jmeter结果查看类元件介绍 Jmeter其他介绍  ...

    AaronYuan 评论0 收藏0
  • 接口测试常见问题

    摘要:同时我们也可以使用控件来实现小型的接口自动化来提高接口测试效率。接口测试的流程首先我们要了解需求,熟悉业务场景然后根据需求文档,接口文档以及业务场景来编写测试用例。 ...

    edgardeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<