前言
想簡單測試一下剛搭建的kafka的性能怎么樣蟀伸?
可以使用自帶的測試程序進(jìn)行簡單的測試蚀同!
創(chuàng)建測試topic
/opt/kafka_2.12-0.11.0.1
bin/kafka-topics.sh --zookeeper=localhost:2181 --create --topic test --replication-factor 1 --partitions 1
producer吞吐率
只測producer的吞吐率缅刽,也就是數(shù)據(jù)只被持久化,沒有consumer讀數(shù)據(jù)唤崭。
使用官方提供的測試工具kafka-producer-perf-test.sh來測試拷恨。
kafka-producer-perf-test.sh中參數(shù)說明:
topic:生產(chǎn)者發(fā)送的topic
num-records:生產(chǎn)者發(fā)送總的消息數(shù)量
payload-delimiter :payload-file文件里面的分割符,默認(rèn)是換行符
throughput:每秒發(fā)送消息的限制
producer-props:指定kafka生產(chǎn)者的配置谢肾,這個配置優(yōu)先與producer.config
transactional-id:事務(wù)ID腕侄,在測試事物的時候會用到
transaction-duration-ms:事物持續(xù)時間
record-size:每條消息的大小
payload-file:測試消費(fèi)文件
運(yùn)行測試命令:
./bin/kafka-producer-perf-test.sh --topic test --throughput 100000 --num-records 100000 --producer-props bootstrap.servers=localhost:9092 --record-size 1000
consumer吞吐率
使用官方提供的測試工具kafka-consumer-perf-test.sh來測試。
kafka-consumer-perf-test.sh中參數(shù)說明:
zookeeper:zookeeper端口配置
messages:消費(fèi)者消費(fèi)消息總數(shù)量
topic:消費(fèi)者需要消費(fèi)的topic
threads:消費(fèi)者使用幾個線程同時消費(fèi)
group:消費(fèi)者組名稱
socket-buffer-sizesocket: 緩沖大小
fetch-size :每次向kafka broker請求消費(fèi)大小
運(yùn)行測試命令:
bin/kafka-consumer-perf-test.sh --zookeeper localhost:2181 --messages 100000 --topic test --threads 1
總結(jié)
這個只是單節(jié)點(diǎn)的簡單測試芦疏,可以根據(jù)自己的集群情況進(jìn)行參數(shù)調(diào)整冕杠。可以寫成腳本酸茴,同時進(jìn)行生產(chǎn)和消費(fèi)來測試性能分预。