基于JMeter 的KAFKA请求插件

本文档介绍了如何基于网络开源代码开发JMeter的Kafka请求插件,用于Kafka写消息测试。该插件支持在发送Java请求后再将参数传递到Kafka。详细步骤包括环境配置、插件安装、JMeter测试计划创建以及使用示例。同时,提供了插件的Java代码实现和GUI界面组件的初始化。
摘要由CSDN通过智能技术生成

基于网络开源代码开发的kafka采样器插件,可用于kafka写消息测试,特别是配合先发送java请求,再参数传递往kafka写消息

 

jmeter是一款使用广泛的测试软件,  为了支持复杂的业务场景(先发送java请求,再写kafka),避免多种测试工具来回切换,故开发了此KAFKA插件。 

以下展示JMeter Kafka Sampler使用示例:  

1.使用前准备   `安装JDK1.8,配置环境变量   `安装Jmeter 3.3(或更高),配置环境变量    

 2  . 将 Kafka Sampler  (下载)取样器jar包ApacheJMeter_KafkaForJmeter.jar拷贝到 .."JMETER_HOME"\lib\ext目录中 ,以及关联jar包一并拷贝到"JMETER_HOME"\lib\ext目录中,具体用到

的jar包包括:fastjson-1.2.33.jar,spring-core-4.3.7.RELEASE.jar,kafka-clients-0.8.2.1.jar,snappy-java-1.1.1.6.jar,scala-library-2.10.4.jar,*-kafka_2.10_1.6_1.0-0.8.2.1.jar,*-kafka-api-core-1.12.jar,*-kafka-api-check-valid-1.12.jar,fvp-waybill-common-0.0.1-SNAPSHOT.jar,fvp-waybill-dto-0.0.2-SNAPSHOT.jar,fvp-waybill-puller.jar,fvp-waybill-dto-0.0.1-SNAPSHOT.jar,fvp-dto-0.0.2.jar,jackson-core-2.4.5.jar,jackson-databind-2.4.5.jar,jackson-annotations-2.4.5.jar,metrics-core-2.2.0.jar(以上jar包为IDSS业务所需要的所有jar包)

3.打开JMeter,创建一个测试计划,添加线程组  

4.选中【线程组】,添加Sampler下的Kafka Sampler

5.新增测试用例,选中Kafka Sampler,右键添加查看结果树监听器,方便一会儿执行查看结果,如下图  

monitorUrl:kafka地址;clusterName:集群名称;topicName:主题名称;checkCode:校验码;data:消息内容

6.查看测试结果,点击执行按钮,运行用例  

 

 

package com.idss.kafka.javaForJmeter;

import com.*.fvp.dto.BarRecordBaseDto;
import com.*.fvp.waybill.common.kafka.model.OmsWaybillModel;
import com.*.fvp.waybill.common.modelContainer.NewestFullWaybillMode;
import com.*.fvp.waybill.common.subscribe.model.BarSubcribe;
import com.*.fvp.waybill.common.util.ProtostuffRuntimeUtil;
import com.*.fvp.waybill.puller.entry.CmspToPldDto;
import com.*.kafka.api.produce.IKafkaProducer;
import com.*.kafka.api.produce.ProduceConfig;
import com.*.kafka.api.produce.ProducerPool;

import java.util.ArrayList;
import java.util.List;

public class KafkaInit{

    // ç”Ÿäº§è€…è¿žæŽ¥æ± å¤§å°ï¼ˆé»˜è®¤ï¼‰
    private static int poolSize = 1;
    // 主题å称
    private String topic ;
    // KAFKA连接地å€ï¼ˆé»˜è®¤ï¼‰
//    private static String url = "http://mommon_other.intsit.sfdc.com.cn:1080/mom-mon/monitor/requestService.pub";
        //private static String url = "http://ip:8292/mom-mon/monitor/requestService.pub";
    private static String url ="http://ip:port/mom-mon/monitor/requestService.pub";
    //private static String url ="http://ip:port/mom-mon/system.pvt";
    // 主题所在的集群å称(默认)
    private static String clusterName;
    //效验ç (默认)
    private String checkCode ;
    // 主题å称+分隔符 (固定ä¸å˜ï¼‰ï¼‹ä¸»é¢˜çš„æ ¡éªŒç (默认)
    private String topicTokens ;//= topic + ":" + checkCode;

    public static void writeTokafka(KafkaInit pushToKafkaTest , Object record){

        // 简易模å¼
        ProduceConfig produceConfig = new ProduceConfig(poolSize, url, clusterName, pushToKafkaTest.getTopicTokens());
        IKafkaProducer kafkaProducer = new ProducerPool(produceConfig);
        List<String> strs

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值