Kafka執行環境優化實踐

2022-03-28 04:07:05 字數 829 閱讀 2332

kafka是乙個高吞吐量分布式訊息中介軟體,並且提供了訊息的持久化功能。其高可行有兩個重要的特點:

要充分利用磁碟連續讀寫高效能的特點,就意味著要減少作業系統對磁碟的重新排程。kakfa內部的實現非常巧妙:

這樣的設計使得寫磁碟的機會僅僅是pagecache需要flush到磁碟的時候,保證了大多數時候磁碟可以連續地讀取,而且直 接複製到網絡卡,避免消費影響到生產(寫入記憶體)。另外,使用檔案系統pagecache而不是自建快取,還利用pagecache對於sendfile來說是透明的優勢,也就是在沒有訊息堆積時,資料流動實際時pagecahe直接到網絡卡,減少磁碟io又保證及時消費。

kafka讀寫的單位是partition,將乙個topic拆分為多個partition提高了系統的吞吐量,這裡有乙個前提條件是不同的partition要分布在不同在磁碟上。如果多個partition位於乙個磁碟上就以為這有多個程序同時對乙個磁碟的多個檔案進行讀寫,使得作業系統對磁碟的讀寫進行頻繁的排程,破壞了磁碟讀寫的連續性。

具體的配置上是將不同磁碟的多個目錄配置到broker的log.dirs,例如:

log.dirs=/disk1/logs,/disk2/logs,/disk3/logs
kafka會在新建partition的時候,將新partition分布在partition最少的目錄上,因此,一般不能將同乙個磁碟的多個目錄設定到log.dirs。

kafka在虛擬機器環境的優化有三點:

pagecache是linux核心的低優先順序快取,在記憶體空間富裕的情況下才能獲得較大的空間。並且kafka不自建快取,堆空間需求也比較小。因此建議保留物理記憶體的1/2以上給系統,以便保證pagecache的分配。

kafka執行環境優化分析

原文 1.kafka高效能的特點及條件 kafka是乙個高吞吐量分布式訊息系統,並且提供了持久化。其高效能的有兩個重要特點 1 利用了磁碟連續讀寫效能遠遠高於隨機讀寫的特點 2 併發,將乙個topic拆分多個partition 要充分發揮kafka的效能,就需要滿足這兩個條件。linkedin的測試...

kafka 單機環境kafka搭建

目錄 一 kafka搭建方法 二 kafka常用命令行 1.topic建立 2.命令列生產者 3.命令列消費者 step1 解壓kafka tar zxvf kafka 2.13 2.4.0.tgzstep2 啟動zookeeper bin zookeeper server start.sh con...

RISC V GNU編譯環境搭建與執行實踐

risc v執行環境 riscv gnu toolchain是riscv的gcc交叉編譯工具鏈 github位址為 riscv gnu toolchain工具鏈由以下幾個子模組組成 這些子模組包括 git clone git github.com riscv riscv gnu toolchain....