您好,登錄后才能下訂單哦!
Kafka2.3性能測試是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
了解Kafka的性能指標可以很好的幫助你規劃Kafka集群,但使用不同的消息大小,保留時間(retention periods),分區,復制因子,網絡速度,甚至是同步還是異步都可能影響到對Kafka集群的硬件配置和大小的規劃
下面會基于之前同樣的測試案例,但使用較新的Kafka2.3以及更好的硬件來重新進行測試,以看看新版本的Kafka帶來了什么改進。
一共6個測試節點,其中3個節點會被作為Kafka Broker,還有三個節點會作為producers / consumers。假設網絡帶寬是10Gb/s,我們應該能在三個Kafka節點上推送近30Gb/s,在所有6個節點上推送60Gb/s。
為了簡化測試,我設置了一些環境變量,這樣運行的每個命令都可以重復使用:
BOOTSTRAP=10.0.0.4:9092,10.0.0.5:9092,10.0.0.6:9092
首先,我們需要根據分區數和副本創建各種topic:
kafka-topics --bootstrap-server ${BOOTSTRAP} --create --topic test-rep-one --partitions 6 --replication-factor 1
kafka-topics --bootstrap-server ${BOOTSTRAP} --create --topic test-rep-three --partitions 6 --replication-factor 3
kafka-topics --bootstrap-server ${BOOTSTRAP} --create --topic test-7k --partitions 18 --replication-factor 3
Kafka附帶了兩個方便的腳本,可用于測試集群:kafka-producer-perf-test和kafka-consumer-perf-test
上面的這些測試案例與之前Linkedin在2014的測試是一樣的。但是由于之前的測試是使用100byte大小的記錄完成的,下面我們使用7KB大小的記錄來重新測試,并且對Kafka的配置進行一些優化:8GB的heap,更大的batch size,并使用snappy壓縮。
超過每秒100萬條消息,每條消息讀寫7KB。已經達到了萬兆網的限制。
測試命令如下:
Test 1:
kafka-producer-perf-test --topic test-rep-one --num-records 50000000 --record-size 100 --throughput -1 --producer-props acks=0 bootstrap.servers=${BOOTSTRAP}
Test 2:
kafka-producer-perf-test --topic test-rep-three --num-records 50000000 --record-size 100 --throughput -1 --producer-props acks=0 bootstrap.servers=${BOOTSTRAP}
Test 3:
kafka-producer-perf-test --topic test-rep-three --num-records 50000000 --record-size 100 --throughput -1 --producer-props acks=1 bootstrap.servers=${BOOTSTRAP}
Test 4 (run three instances in parallel, one on each node):
kafka-producer-perf-test --topic test-rep-three --num-records 50000000 --record-size 100 --throughput -1 --producer-props acks=0 bootstrap.servers=${BOOTSTRAP}
Test 5:
kafka-consumer-perf-test --broker-list ${BOOTSTRAP} --messages 50000000 --topic test-rep-three --threads 1 --timeout 60000 --print-metrics --num-fetch-threads 6
Test 6 (run three instances in parallel, one on each node):
kafka-consumer-perf-test --broker-list ${BOOTSTRAP} --messages 50000000 --topic test-rep-three --threads 1 --timeout 60000 --print-metrics --num-fetch-threads 6
Test 7 (run a producer on each node, including the Kafka brokers):
kafka-producer-perf-test --topic test-7k --num-records 50000000 --record-size 7168 --throughput -1 --producer-props acks=0 bootstrap.servers=${BOOTSTRAP} linger.ms=100 compression.type=snappy
Test 8 (run a consumer on each node, including the Kafka brokers):
kafka-consumer-perf-test --broker-list ${BOOTSTRAP} --messages 50000000 --topic test-7k --threads 1 --timeout 60000 --print-metrics --num-fetch-threads 18
關于Kafka2.3性能測試是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。