1. <tr id="33chb"><label id="33chb"></label></tr>
  2. <pre id="33chb"></pre>
    當前位置:首頁 > 短網址資訊 > 正文內容

    Kafka參數優化 — IO系統優化

    一、 IO Scheduler 
    Centos6系統默認的IO調度器是CFQ(Completely Fair Queuing),Kafka是順序IO讀寫模型,使用Deadline和NOOP無疑是更好地選擇。

    Deadline:對于讀寫操作有截止時間,對讀和寫操作用兩條不同的隊列管理,可以解決讀取饑餓的現象。因為操作系統對讀請求是同步處理的,寫入請求可以異步處理。操作系統可以數據寫到內存,然后對IO隊列中的請求做合并,提高IO的吞吐量。通過設置read_expire < write_expire時間,避免讀取操作處于饑餓調度的狀態。對于數據庫存儲應用,Deadline是最佳的IO Scheduler,甚至很多PCIE卡作為設備內置默認參數。

    NOOP:是建立在FIFO調度模型之上的,并合相鄰IO請求。Noop容易出現讀取操作饑餓現象,使用NOOP調度,需要磁盤有足夠的IO能力。對于SSD基于閃存技術存儲介質和SAN存儲,NOOP也是有限選擇的調度器。
    CFQ是對每個進程維護一個IO隊列,IO Scheduler對每個IO隊列輪詢,對于不同的進程IO請求處理是公平的,平均IO請求響應時間很小。每個進程隊列可以設置IO優先級使得有更多的調度時間片。比較適合離散的讀寫模型。

    注意的是,傳統的IO Elevator調度算法是基于減小機械盤磁頭尋道時間和提高吞吐量目的設計的。IO Scheduler的選用需要根據硬件設備和應用的IO請求模式來決定。


    二、 充分利用內存提高kafka讀寫性能

    之前也提到過了,數據寫入到磁盤可以異步進行,先把數據放到內存中,在集中的寫到外部存儲上。dirty_ratio 和 dirty_background_ration適當增大,充分利用內存和文件緩存buffer。

    • dirty_ratio,系統總內存的百分比,太小導致系統強制臟頁寫回到磁盤,這個會阻塞系統接受寫入請求。

    • dirty_background_ratio,文件系統的寫入緩沖區的大小,達到這個百分比時,pdflush進程開始啟動,把數據寫回到磁盤,但是不影響正常的讀寫請求。

    • 原則:dirty_background_ratio < dirty_ratio


    但是還有個疑問,dirty page什么時候寫回到磁盤?這個是由dirty_writeback_centisecs和dirty_expire_centisecs兩個參數控制的。

    dirty_writeback_centisecs,控制 pdflush/flush/kdmflush等進程的喚醒時間。

    dirty_expire_centisecs,控制dirty page刷盤時間點。

    減小這兩個參數,可以使數據快速落盤,避免os crash引起的數據的丟失。另外,減小dirty_writeback_centisecs和dirty_expire_centisecs,解決IO Spike現象。

    通過磁盤監控發現寫入量wrqm/s和awit時間波動很大。


    page cache中dirty apge的數量出現驟減。


    對于kafa來說,數據append總以方式追加到文件末尾,因而內存中的dirty page很少被再次更新。合理做法是把dirty page快速的flush到磁盤上,而不是默認的是30s執行一次write back。這樣可以大幅度減少單次fluhs操作的數據量,消除io-wait突然增高的現象。

    dirty_writeback_centisecs=100,每1s中喚醒一次pdflush進程。

    dirty_expire_centisecs=100,dirty page過了一秒就從內存寫回到磁盤。

    下圖是io await的優化效果,經過參數調整之后,IO-await有明顯的下降。



    三、文件系統

    我們生產上常用多塊SATA盤做raid10,磁盤容量巨大時,仍然使用ext4文件系統,很容易格式化異常(需要系統補丁支持)。Ext4系統支持最大16TB的分區,而是用XFS文件系統可以達到100TB+。相比Ext4,XFS文件系統性能更好,官方也推薦使用。而穩定稍弱一點,很多參數也不需要優化。主要注意兩個參數的優化:

    1)nobarrier,XFS可以有數據丟失保護機制,因而可以關閉底層硬件的強制刷盤策略,何況在線機器還有raid卡保護。

    2)noatime,完全沒有必要的文件系統元數據更新。

    推薦的XFS掛載參數:rw,noatime,nodiratime,noikeep,nobarrier,allocsize=128M,attr2,largeio,inode64,swalloc 。關于文件系統方面,主要參考官方的建議。


    參考資料:

    File Cache:https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/

    Ext4:https://en.wikipedia.org/wiki/Ext4

    Kafka: http://kafka.apache.org/documentation.html#appvsosflush







    掃描二維碼推送至手機訪問。

    版權聲明:本文由短鏈接發布,如需轉載請注明出處。

    本文鏈接:http://www.virginiabusinesslawupdate.com/article_315.html

    標簽: KafkaIO優化
    分享給朋友:

    相關文章

    這個世界正在把我們變得越來越懶

    這個世界正在把我們變得越來越懶

    前陣子,看到一段很有趣的話:健身房靠什么盈利呢?是靠那些辦了卡,卻從不去健身的人。如果所有辦了卡的人都堅持去健身,那健身房早就不堪重負了。同樣。出版社靠什么盈利呢?是靠那些買了書、卻從來不讀的人。如果所有人在買書前,都細細思考,確定一定會去...

    Apache Kafka:大數據的實時處理時代

    Apache Kafka:大數據的實時處理時代

    作者|FT12短網址 編輯|短鏈接 在過去幾年,對于短網址的使用范疇已經遠不僅是分布式的消息系統:我們可以將每一次用戶點擊,每一個數據庫更改,每一條日志的生成,都轉化成實時的結構化數據流,更早的存儲和分析它們,并從中獲得...

    短網址生成網站的源碼都有哪些?

    對于短網址生成站來說,目前國內做的很不是很多,所以開源的代碼也很少,多數是基于國外大牛的開源代碼改編過來的。比較著名的有phurl,比較老牌,但是似乎已經停止更新和支持了。另外還有yourls,這款開源代碼使用最廣泛,目前仍然在更新之中,支...

    iPhone X/8/8 Plus發布:十年巨作,最高9688元

    iPhone X/8/8 Plus發布:十年巨作,最高9688元

    【FT12短網址】白駒過隙,十年一瞬。十年接近人生的十分之一,十年是蘇軾詩中深情思念的“十年生死兩茫茫,不思量,自難忘”,十年是陳奕迅歌聲中物是人非的“十年之后,我們是朋友,還可以問候”,十年也是蓄勢待發“十年磨一劍”中的十年。永遠的喬布斯...

    花式共享還是變相租賃,共享經濟下一步怎么走?

    共享經濟概念持續火熱前提下,生活中的很多物品紛紛帶著“共享”的帽子進局。比如共享籃球、共享雨傘、共享充電寶等產品紛紛面世,日前,共享籃球平臺“豬了個球”宣布完成千萬級Pre-A融資;共享充電寶“街電”獲得聚美優品3億元的投資;“小電”獲得B...

    中國式無現金生活 誰給了你“不用等”的底氣?

    在日本最大的論壇2ch上,一則標題為《中國的非現金社會飛速發展已超乎想象》的帖子,近日引發了日本網友對于中國移動支付的熱烈討論。討論貼稱,目前中國只有不到11%的人還在使用現金支付,移動支付已在中國取得統治地位?;靥木W友們還舉出了很多有趣...

    發表評論

    訪客

    ◎歡迎參與討論,請在這里發表您的看法和觀點。
    一本色综合网久久
    1. <tr id="33chb"><label id="33chb"></label></tr>
    2. <pre id="33chb"></pre>