Jmeter连接Kafka

  1. jmeter/lib/ext中导入一个kafka相关的jar包,如下图:

  1. 导入之后就可以打开JMeter进行操作了,首先在一个Thread group中添加一个Java request
  1. 选择相应的Classname,配置相关参数
  • 编辑brokers,topic,key和message即可
  • broker地址:配置文件里的advertised.listener,也就是外网地址和访问端口,这个地址和端口能定位到唯一个broker,通过配置可以分发到多个broker上,地址用逗号隔开即可。
  • 变量引用:${Name}(自定义变量方法见下文)

配置好后,点击运行,就能在消费者终端消费到消息了

自定义变量并查看

自定义变量的方法有很多种,可以直接在线程组配置中添加自定变量

这里通过JSON提取器将提取出的结果保存在新建变量中

新建变量

  1. 右键HTTP请求选择后置处理器添加JSON提取器

    顾名思义是要对返回的JSON数据进行提取处理

  2. 配置相关信息——将提取出的JSON数据保存在自定义的变量

    提取表达式:查看JSON Path使用文档

变量查看

添加调试取样器,即可在运行后通过查看结果树查看取样器的返回结果

  1. 右击线程组添加调试取样器(Debug Sample)

    调试取样器的配置则规定在监听器中会显示哪些内容

    将 Jmeter 变量 设为 true 意为 将在结果中显示 Jmeter变量

  1. 运行后,通过查看结果树查看取样结果

    可以将这个变量通过${data}填入kafka配置的kafka_message中传入kafka

Linux运行Jmeter脚本

下载安装Jmeter

Jmeter的安装包本来就包括了Windows和Linux,所以只要在本地下载好jmeter,然后用secureCRT上传到服务器就可以了。

在服务器上解压zip文件:

unzip 文件名.zip

相关配置

  1. 授权Jmeter
    授权要授权两个,一个是bin目录下的jmeter,一个是jmeter.sh。要不然会一直提示权限不够

     授权指令:chmod 777 [文件名]
    
  2. 配置环境变量

    1
    vim /etc/profile
     export JMETER_HOME=/root/jmeter
     export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
     export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
    
    1
    source /etc/profile
  3. 检验配置
    1
    Jmeter -v


    出现上述结果就代表OK了

进行Jmeter测试

1
jmeter -n -X -t test.jmx -l result.jtl

常用命令:
-h 帮助:打印出有用的信息并退出
-n 非 GUI 模式:在非 GUI 模式下运行 JMeter
-t 测试文件:要运行的 JMeter 测试脚本文件
-l 日志文件:记录结果的文件
-r 远程执行:启动远程服务
-H 代理主机:设置 JMeter 使用的代理主机
-P 代理端口:设置 JMeter 使用的代理主机的端口号

通过jtl文件查看结果

  1. 导出生成的.jtl文件
    xshell中导出文件命令
    1
    sz FileName
  2. 查看报告
    启动jmeter,新建一个线程组,添加所需的监听器,导入脚本运行产生的.jtl文件,如下: