使用jmeter进行压测的时候,一般情况下,我们采用的是nogui模式,执行完成之后,在listener里面打开保存的jtl文件进行图形绘制查看响应时间/tps的变化,基本不采用gui模式进行压测和实时绘图。那么在基于docker的jmeter弹性压测的时候,我们如何获取实时的服务器响应时间以此来指导是加压还是减压呢?
backendlistener
这是我们主要用到jmeter自带的listener里面的额backend listener。
我们先看下官网的介绍:
The backend listener is an Asynchronous listener that enables you to plug custom implementations of BackendListenerClient. By default, a Graphite implementation is provided.
简单翻译下:backend listener是一个异步的listener,可以支持任何实现了BackendListenerClient的自定义逻辑。默认,jmeter提供了一个机遇Graphite的实现。
在前文我们都是使用influxdb作为时序库,所以本文章依旧采用influxdb。
- jmeter里新建测试用例
- 新建thread group
- 增加采样器之后,Add -> Listener -> Backend Listener,然后在implementation里面选择influxdb,填入的参数如下所示: