2017-09-04 146 views
-1

我一直在谷歌搜索一段時間是否是他們的任何插件loadrunner測試Kafka集羣,但什麼都沒發現。我最近意識到,我們可以通過java程序發送消息,如apache.kafka.clients包幫助性能測試卡夫卡使用loadrunner

我已經創建了一個新的Java虛擬用戶。

這是我已經使用生產消息的簡單代碼:

import lrapi.lr; 
import java.util.*; 
import org.apache.kafka.clients.producer.*; 

public class Actions 
{ 

    public int init() throws Throwable { 
     return 0; 
    }//end of init 


    public int action() throws Throwable { 
     String topicName = "loadrunnertest"; 
     String key = "Key1"; 
     String value = "hello Vishal"; 


     Properties props = new Properties(); 
     props.put("bootstrap.servers", "localhost:9092"); 
     props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");   
     props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); 

     Producer<String, String> producer = new KafkaProducer <String,String>(props); 

     ProducerRecord<String, String> record = new ProducerRecord<String,String>(topicName,key,value); 
     producer.send(record);   
     producer.close(); 

     System.out.println("SimpleProducer Completed."); 
     return 0; 
    }//end of action 


    public int end() throws Throwable { 
     return 0; 
    }//end of end 
} 

在classpath中添加所有必需的罐子下運行時設置。
通過這個我能夠連接到Kafka集羣。
由於我用java發送請求會影響最終結果嗎?

+0

的Java模板虛擬用戶 –

回答

1

卡夫卡已經自帶了負載測試工具,如斌/ kafka-producer-perf-test.sh和斌/ kafka-consumer-perf-test.sh

如果你看看這些shell腳本,你會看到他們是在隨卡夫卡創業性能測試類,可直接從LoadRunner的或任何Java應用程序,如傑伊·克雷普斯卡夫卡基準博客文章下面的例子中被稱爲只是簡單的包裝(見https://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines

bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test7 50000000 100 
-1 acks=1 bootstrap.servers=esv4-hcl198.grid.linkedin.com:9092 buffer.memory=67108864 batch.size=8196 
+0

謝謝!這就是我一直在尋找的東西。 –