Vis*_*ise 2 performance-testing loadrunner apache-kafka
我一直在谷歌搜索一段时间是否他们的任何插件在loadrunner测试卡夫卡集群但没有发现任何东西.我最近意识到我们可以借助apache.kafka.clients之类的软件包通过java程序发送消息
我创建了一个新的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
}
Run Code Online (Sandbox Code Playgroud)
在运行时设置下在类路径中添加所有必需的jar.
通过这个我能够连接到Kafka集群.
因为我用java发送请求会对最终结果产生影响吗?
Kafka已经提供了负载测试工具,如bin/kafka-producer-perf-test.sh和bin/kafka-consumer-perf-test.sh
如果你看一下这些shell脚本,你会发现它们只是Kafka附带的企业性能测试类的简单包装器,可以直接从Loadrunner或任何Java应用程序调用,如下面的示例,来自Jay Kreps的Kafka基准测试博客文章(请参阅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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |