我已在具有以下资源的openstack vm中部署了kafka-rest-proxy,并启用了kafka-rest-proxy和kafka代理之间的SSL:
16vCPUs , 44GB RAM, 341GB harddisk
。
kafka-rest-proxy可以正常工作,我可以创建一个使用者,订阅一个主题并根据手册使用记录。 我也可以通过kafka-rest-proxy向主题发送消息,而不会出现问题。 现在我要强调吞吐量 我尝试使用wrk工具来实现此目的,结果如下:
wrk -t32 -c1000 -d30s -H "Accept: application/vnd.kafka.json.v2+json" http://xxx.xxx.xxx.xxx:8082/consumers/my_consumer/instances/my_consumer/records
Running 30s test @ http://xxx.xxx.xxx.xxx:8082/consumers/my_consumer/instances/my_consumer1/records
32 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.01s 21.73ms 1.24s 94.83%
Req/Sec 69.83 77.27 303.00 80.46%
28681 requests in 30.04s, 4.38MB read
Socket errors: connect 3, read 0, write 0, timeout 0
Requests/sec: 954.81
Transfer/sec: 149.19KB
我认为954个请求/秒-149.19 KB并不多。 在下面的讨论中,他们提到消费者达到1.590000 MB / s,并进行了一些优化,达到9.270000 MB / s:
https://github.com/confluentinc/kafka-rest/issues/2
下面是我的kafka-rest-proxy配置
id=kafka-rest-ssl2
zookeeper.connect=zookeepertest1:2181,zookeepertest2:2181,zookeepertest3:2181
bootstrap.servers=SSL://kafkatest1:9093,SSL://kafkatest2:9093,SSL://kafkatest3:9093
client.security.protocol=SSL
client.ssl.truststore.location=/root/client.truststore.jks
client.ssl.truststore.password=serversecret
consumer.request.max.bytes=1048576000
consumer.threads=16
debug=true
我该怎么做才能提高MB / s。我认为149.19KB的传输率还不够。
是否有可能是wrk问题?正如我在上面发布的链接中看到的那样,有一些kafka rest工具可以检查性能,但我无法确定这些测试的运行情况。