2020-08-16:數(shù)據(jù)任務是怎么優(yōu)化的?(數(shù)據(jù)傾斜,參數(shù)相關調節(jié))

      網友投稿 610 2025-04-04

      福哥答案2020-08-16:


      [此答案【來自華為云社區(qū)】的【阿剛】](https://bbs.huaweicloud.com/blogs/147398)

      一 問題背景

      項目中遇到大數(shù)據(jù)任務執(zhí)行時間比較長,需要進行優(yōu)化,使得大數(shù)據(jù)的任務執(zhí)行時間優(yōu)化至客戶可以接受的時間。

      二 原因分析

      l? 業(yè)務場景分析

      本場景下的大數(shù)據(jù)任務主要對數(shù)據(jù)進行mapreduce操作,該任務包含兩個子任務,第一個子任務的map(每個map的大小為128M)個數(shù)為4300左右(這些map任務都是分散在不同的服務器上,TaiShan集群有6400+個核可以處理,可以充分利用TaiShan多核優(yōu)勢),map執(zhí)行時間為10分鐘,但是reduce個數(shù)固定寫為200個(即最多有200個核并行處理reduce任務),reduce執(zhí)行時間為1小時30分鐘左右,耗時較長,同時reduce個數(shù)相比map個數(shù)很少,不能充分利用TaiShan多核優(yōu)勢,第二個子任務也是reduce階段耗時較長

      l? 服務器基礎性能分析

      在大數(shù)據(jù)任務執(zhí)行時,cpu利用率不高,磁盤io以及網卡IO都沒有瓶頸,不過網卡中斷需要進行綁核,同時磁盤緩存參數(shù)可以進行調優(yōu)來提升性能

      解決方案

      3.1 網卡調優(yōu)

      3.1.1 中斷綁核

      中斷親和度描述為可以為特定中斷提供響應的一組CPU,如果應用程序可以通過關聯(lián)到相關的CPU,在相同的CPU上下文中處理接收到的數(shù)據(jù)包,則可以減少等待時間,提高CPU利用率。

      因此,我們可以將處理網卡中斷的CPU core設置在網卡所在的NUMA上,從而減少跨NUMA的內存訪問所帶來的額外開銷,提升網絡處理性能。

      3.2 磁盤參數(shù)調優(yōu)

      3.2.1 磁盤讀預取參數(shù)

      /sys/block/sdX/queue/read_ahead,這個參數(shù)對順序讀非常有用,意思是,一次提前讀多少內容,無論實際需要多少。默認一次讀 128kb 遠小于要讀的,設置大些對讀大文件非常有用,可以有效的減少讀 seek 的次數(shù),這個參數(shù)可以使用 blockdev –setra 來設置,setra 設置的是多少個扇區(qū),所以實際的字節(jié)是除以2,比如設置 512 ,實際是讀 256 個字節(jié).

      原服務器值是128kb, 設置為4096Kb。

      3.2.2 緩存寫入磁盤參數(shù)調整

      /proc/sys/vm/dirty_ratio 從20改成40

      這個參數(shù)控制文件系統(tǒng)的文件系統(tǒng)寫緩沖區(qū)的大小,單位是百分比,表示系統(tǒng)內存的百分比,表示當寫緩沖使用到系統(tǒng)內存多少的時候,開始向磁盤寫出數(shù)據(jù)。增大之會使用更多系統(tǒng)內存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。

      /proc/sys/vm/dirty_background_ratio 從10改為20

      這個參數(shù)控制文件系統(tǒng)的pdflush進程,在何時刷新磁盤。單位是百分比,表示系統(tǒng)內存的百分比,意思是當寫緩沖使用到系統(tǒng)內存多少的時候,pdflush開始向磁盤寫出數(shù)據(jù)。

      增大之會使用更多系統(tǒng)內存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。

      /proc/sys/vm/dirty_writeback_centisecs 從500改為800

      2020-08-16:數(shù)據(jù)任務是怎么優(yōu)化的?(數(shù)據(jù)傾斜,參數(shù)相關調節(jié))

      這個參數(shù)控制內核的臟數(shù)據(jù)刷新進程pdflush的運行間隔。單位是 1/100 秒。缺省數(shù)值是500,也就是 5 秒

      /proc/sys/vm/dirty_expire_centisecs 從3000改為30000

      這個參數(shù)聲明Linux內核寫緩沖區(qū)里面的數(shù)據(jù)多“舊”了之后,pdflush進程就開始考慮寫到磁盤中去。單位是 1/100秒。缺省是 30000,也就是 30 秒的數(shù)據(jù)就算舊了,將會刷新磁盤。

      對于特別重載的寫操作來說,這個值適當縮小也是好的,但也不能縮小太多,因為縮小太多也會導致IO提高太快

      3.3 應用程序調優(yōu)

      3.3.1 Reduce個數(shù)優(yōu)化

      在大數(shù)據(jù)平臺調整reduce設置,使最大reduce個數(shù)從原來的200改為500,性能提升明顯

      3.3.2 Reduce并行copy參數(shù)maprd.reduce.parallel.copies優(yōu)化

      Reduce的并發(fā)拷貝數(shù)默認是5,后來調整至30可以提升reduce的最大并發(fā)拷貝數(shù)

      經過調優(yōu),最終大數(shù)據(jù)任務執(zhí)行時間有明顯提升

      四總結

      調優(yōu)后,TaiShan集群服務器上任務執(zhí)行時間有明顯改善。對相關思路總結如下:

      l? 分析確認大數(shù)據(jù)任務執(zhí)行時各個階段的耗時,重點分析耗時階段,提升reduce并發(fā),充分利用TaiShan多核優(yōu)勢。

      l? 明確性能瓶頸,并對服務器各個子模塊進行參數(shù)調優(yōu)。

      大數(shù)據(jù) 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格格式怎樣轉換圖片(Excel表格怎么轉換為圖片)
      下一篇:藍橋杯——BASIC-11.十六進制轉十進制
      相關文章
      亚洲色图综合在线| gogo全球高清大胆亚洲| 国产精品亚洲产品一区二区三区 | 亚洲精品乱码久久久久久蜜桃图片 | 亚洲福利在线视频| 亚洲av无码精品网站| 久久精品亚洲综合一品| 久久久久久亚洲精品中文字幕| 亚洲国产精品成人精品无码区| 亚洲国产另类久久久精品小说| 亚洲乳大丰满中文字幕| 亚洲中文字幕久久精品无码APP | 亚洲乱码无人区卡1卡2卡3| 亚洲精品免费网站| 亚洲色大成网站WWW国产| 亚洲欧洲无卡二区视頻| 蜜芽亚洲av无码一区二区三区| 亚洲av日韩综合一区二区三区| 亚洲AV日韩AV一区二区三曲| 亚洲av区一区二区三| 亚洲人成网站观看在线播放| 中文字幕亚洲乱码熟女一区二区| 亚洲色婷婷一区二区三区| 久久久久亚洲av无码尤物| 久久久久亚洲av无码专区| 亚洲图片中文字幕| 亚洲最大的成人网| 老司机亚洲精品影院在线观看| 亚洲高清成人一区二区三区| 国产亚洲精aa成人网站| 亚洲大尺度无码专区尤物| 久久精品国产亚洲av麻豆色欲 | JLZZJLZZ亚洲乱熟无码| 亚洲一区二区三区偷拍女厕| 西西人体44rt高清亚洲| 亚洲大香伊人蕉在人依线| 亚洲熟妇AV日韩熟妇在线| 在线观看免费亚洲| 亚洲线精品一区二区三区| 亚洲第一精品福利| 亚洲sss综合天堂久久久|