基于jmeter+sysstat+influxdb+grafana+flume的性能测试平台

大概分为两部分:发起请求、统计数据

发起请求:jmeter

统计数据:sysstat :硬件设备统计、请求并发、系统吞吐量、响应时间统计 

jmeter: qps responseTime currentThreadsNum 

收集数据:flume (分布式、稳定、安全)

数据存储:influxdb (分布式、时序、结构简单、轻便)

数据展示:grafana(与influxdb结合比较完备,可配置化、动态展示数据)



jmeter :

jmeter试压-》

增加AbstractBackendListenerClient抽象类的实现类,FileBackendListenerClient将监听器数据log4j2输出到日志文件-》

   ant-install构建打包

jmeter源码中添加包需要再lib/opt下编译才生效

运行时是读取lib包下,需要添加到lib下即可

添加后台进程,不断增量读取log日志,批量写入influxdb中

(提高性能使用线程安全的 ConcurrentLinkedDeque)

curl -i -XPOST 'http://localhost:8086/write?db=jmeter' --data-binary @jmeter_data.txt

jmeter执行流程:

jmeter在core包中org.apache.jmeter.threads.ThreadGroup.start类中开始并发线程,每个线程根据线程组生成线程树,

org.apache.jmeter.threads.JmeterThread.process_sampler递归执行每个sampler

实际执行的接口AbstractJavaSamplerClient.runTest方法,所以需要手动实现这个接口的runtest方法,返回samplerResult

分布式:jmeter master+slavers 通过RMI协议通信(默认端口1099),master把测试计划发送给每个slavers,slavers传递samplerResult给master

(所以测试计划只需要在master,但是测试数据和配置文件需要添加给每个slavers)

influxdb grafana配置:

influxdb:https://docs.influxdata.com/influxdb/v0.13/

安装:

/etc/yum.repos.d/ 下添加influxdb的安装文件 influxdb.repo

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值