JMeter + InfluxDB + Grafana
随着越来越多的软件迁移到网络上,为了保证良好的用户体验和节约资源,对网络应用进行性能测试非常重要。如果 Web 应用程序没有足够的资源来处理负载,它可能会变得缓慢和不稳定,并对用户体验产生负面影响。但是,如果分配给 Web 应用程序的资源过多,供应商的成本就会很高。性能测试揭示了这些问题,并可以推动解决方案的开发。
一种流行的开源性能测试解决方案是使用 JMeter + InfluxDB + Grafana 组合,JMeter 执行性能测试,InfluxDB 存储测试结果,Grafana 将结果可视化。
问题
虽然 JMeter + InfluxDB + Grafana 已经是一个广泛使用的性能测试套件,但准备测试设置是一个复杂且耗时的过程。为了对网页进行负载测试并查看 Grafana 中显示的结果,我们需要:
安装 JMeter、Grafana、InfluxDB 并运行所有三个服务
编写要在测试期间执行的 JMeter 测试计划
- 添加 JMeter 后端侦听器以将实时测试结果发送到 InfluxDB
使用测试属性配置 JMeter,包括测试持续时间、加速时间、线程数以及要测试的网页的 url
在 InfluxDB 中创建一个数据库来存储 JMeter 结果
添加一个 InfluxDB 数据源到 Grafana 并指定运行的 InfluxDB 服务的主机和端口
在 Grafana 中创建仪表板并查询 InfluxDB 数据以可视化 JMeter 测试结果
为了跳过这个繁琐且容易出错的过程,我实现了一个自动化整个设置的解决方案,以便想要使用 JMeter + InfluxDB + Grafana 设置进行性能测试的用户可以通过一个命令来完成。
解决方案
我的解决方案是将整个