我在AWS上配置了複製因子爲2的雙節點六分區Kafka集羣。每個Kafka節點在由EBS支持的m4.2xlarge EC2實例上運行。卡夫卡Producer和Broker吞吐量限制
據我所知,卡夫卡生產者向卡夫卡經紀人傳輸的數據流量受制造商網絡帶寬的限制。
表示Kafka生產者和代理之間的網絡帶寬爲1Gbps(約125 MB/s),Kafka代理和存儲之間(EC2實例和EBS卷之間)的帶寬爲1 Gbps。
我使用org.apache.kafka.tools.ProducerPerformance工具來分析性能。
我觀察到一個單一的生產者可以在大約90百萬字節/秒寫入到代理時的消息大小爲100個字節。(因此網絡不飽和的)
我還觀察到磁盤的寫入速率EBS卷大約是120 MB/s。
這是90MB/s由於一些網絡瓶頸還是卡夫卡的限制? (爲簡單起見,忘記批量大小和壓縮等)
難道這是由於broker和ebs卷之間的帶寬限制?我還觀察到,當兩個生產者(來自兩個獨立的機器)產生數據時,一個生產者的吞吐量下降到60MB/s左右。
這可能是什麼原因?爲什麼這個值不能達到90 MB/s?這可能是由於broker和ebs卷之間的網絡瓶頸嗎?
什麼讓我困惑的是,在這兩種情況下(單個生產者和兩位製片人)的磁盤寫入速率EBS停留大約120 MB /秒(接近其上限)。
謝謝