Presto參數(shù)設(shè)置

Presto內(nèi)存配置是開發(fā)者很關(guān)心的核心配置:

很難給出確切的數(shù)字,因為這些數(shù)字應(yīng)該根據(jù)您的工作量來設(shè)置。所以,我能做的就是為你提供一些數(shù)字,然后你應(yīng)該試驗這些配置和你的工作量來微調(diào)它們。

假設(shè)每個節(jié)點有47G,你可以從35G的Xmx開始,因為你應(yīng)該為本機內(nèi)存留出一些開銷,并為機器上運行的操作系統(tǒng)和其他守護進程留出一些空間,如果有的話。在生產(chǎn)中,我們使用32M的G1區(qū)域大小,這也是部署文檔中記錄的值。

鑒于最大堆大小為35G,我認為您可以開始嘗試使用以下值并確定適合您的工作負載的值:

query.max-memory-per-node = 12GB

query.max-total-memory-per-node = 15GB

memory.heap-headroom-per-node = 8GB(這是作為余量/緩沖區(qū)留出的堆內(nèi)存量(例如,用于未跟蹤的分配))。

每個節(jié)點的凈空間為8G,最大總內(nèi)存為15G,每個工作站的總體池大小為35-8-15 = 12G,整個群集中的12G * 11 = 132G。當(dāng)我們確定query.max-memory(峰值全局用戶內(nèi)存限制)時,我們還會考慮散列分區(qū)計數(shù)(query.initial-hash-partitions配置,即分布式連接和聚合的分區(qū)數(shù))。由于你有11個節(jié)點,你可以設(shè)置query.initial-hash-partitions 為8,如果我們設(shè)置query.max-memory為48G,將導(dǎo)致每個節(jié)點內(nèi)存使用量大約48/8 = 6GB(如果沒有偏差,數(shù)據(jù)分布均勻),并且因為我們有query.max-memory-per-node12GB,這意味著我們允許偏斜因子為12/6 = 2(也就是說,當(dāng)數(shù)據(jù)分布不均時,我們允許任務(wù)消耗兩倍的內(nèi)存)。同樣,你一定要試驗和調(diào)整這些值,并弄清楚什么對你有用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,934評論 0 13
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。http://m.itdecent.cn/p/979ec...
    Moon_魔寬閱讀 5,833評論 0 3
  • 1. 安裝: 要求至少Java 8(推薦使用Oracle JDK version 1.8.0_121)并設(shè)置$JA...
    simonsgj閱讀 2,411評論 0 9
  • 突然想起曾經(jīng)一起上課的一個女生,她身高不高,長發(fā)披肩,容貌清秀,骨子里帶著安靜,經(jīng)常上課坐在她旁邊打盹,而每次醒來...
    燕過無影閱讀 289評論 0 0
  • “這就好像一些非常勇敢頑強的英雄有時也會跪下來祈求上帝的恩賜?!? 我總有一種不安的情緒,因為我是中...
    鯤_3408閱讀 303評論 0 0

友情鏈接更多精彩內(nèi)容