Spark原始碼效能優化案例分析

2021-09-24 08:40:50 字數 814 閱讀 9862

本篇文章列舉了幾例常見的問題並給出了優化方案,推薦了兩套測試效能優化工具

問題:spark 任務檔案初始化調優 資源分析,發現第乙個 stage 時間特別長,耗時長達 14s , cpu 和網路通訊都有一定開銷,不符合應用**邏輯。

spark 任務排程優化 資源分析,發現 stage2 只有一台伺服器上的 cpu 被使用,其他伺服器 cpu 完全空閒

任務分配演算法調優 在做 log 分析的時候,發現在 executor 領取任務的時候,在最後總會有一兩個 executor 領取的任務是非 local 的。比如,最後兩個任務 a [ 2,3,1] 和 b[1,3,4] , executor [ 1][2] ,當 executor[1] 領取了任務 a ,則 executor [ 2] 領到的任務 b 就是非 local 的。 解決方案:對任務進行偏序排序後再分配 [spark-2193]

os 配置調優 資源分析,發現伺服器大量 cpu 資源消耗為 sys 型別 調查發現,是因為某些 linux 版本的 t ransparent huge page 預設為 enable 狀態導致 優化方案:關閉 os 的 transparent huge pages echo never > /sys/kernel/mm/ transparent_hugepage /enabled echo never > /sys/kernel/mm/ transparent_hugepage / defrag transparent huge page 開啟 transparent huge page 關閉 。

網絡卡調優 資源分析,發現大量作業時間消耗在網路傳輸上。

spark效能優化

熟悉spark核心之後,深刻體會到了spark開發中存在著大量細節左右著計算效能。趁著剛看過大概的流程,先基於目前的感受和相關資料,總結一下可能存在優化空間的地方。spark優化其實就是將不必要的開銷能省就省。建立rdd是昂貴的,從磁碟讀取rdd也是昂貴的,需要大量的io開銷,shuffle是與基於...

spark的效能優化

因為之前在tesla集群上申請了1000個節點被噴之後,現在只敢申請100個節點,後來導致乙個嚴重的結果,自從100節點以來再也沒有跑出結果。進而意識到了spark優化的重要性,現再次總結一下 1.乙個通用的調整並行度的方式 首先要明確乙個概念,hadoop為每乙個partition建立乙個task...

spark效能優化二

一 task效能優化 1,慢任務的效能優化 可以考慮減少每個partition處理的資料量,同時建議開啟 spark.speculation,2,儘量減少shuffle,例如我們要儘量減少 groupbykey 的操作,因為 groupbykey 會要求通過網路拷貝 shuffle 所有的資料,優先...