Druid調(diào)優(yōu)指南(一)- Historical

【翻譯自https://druid.apache.org/docs/latest/operations/basic-cluster-tuning.html

本文檔提供Druid部署調(diào)優(yōu)基礎(chǔ)指南,涉及相關(guān)屬性配置以及集群架構(gòu)設(shè)想用含。

請注意矮慕,本文檔提供一般性的指導(dǎo)原則和經(jīng)驗法則:對于集群調(diào)優(yōu)來說,這些法則并不是絕對的耕餐,通用的凡傅,而且并沒有完全覆蓋到Druid屬性調(diào)優(yōu)的所有部分。

如果對于特定的case有疑問或者本文未盡事宜肠缔,請詳詢https://druid.apache.org/community/夏跷。

Historical(歷史節(jié)點)

Heap sizing(堆大小)

Historical節(jié)點中堆使用主要集中在:

? ? ?來自于segments中未合并的查詢結(jié)果

? ? ?用于lookups的存儲地圖

通常情況下明未,調(diào)整Historical堆大小的經(jīng)驗規(guī)則:(0.5GB * CPU核數(shù))槽华,上限約為24GB。這個公式并不是一個硬性標準趟妥,僅供參考猫态。

如果堆太大,則可能會導(dǎo)致GC時間過長披摄,因此要設(shè)置一個24G左右的上限亲雪。

如果在Historical節(jié)點上啟動了緩存,則緩存存儲在堆中疚膊,大小由druid.cache.sizeInBytes決定义辕。

Historical節(jié)點上的堆耗盡,說明配置錯誤或者所用的方式導(dǎo)致集群過載

Lookups

目前處于試驗階段寓盗,暫不說明

Processing Threads and Buffers(線程和緩沖)

關(guān)于 Historicals:

druid.processing.numThreads(用于并行處理segment的線程數(shù)):通常設(shè)置為(number of cores -1)灌砖,值設(shè)置的小不能充分利用cpu,超過核心數(shù)會導(dǎo)致不必要的cpu爭用

druid.processing.buffer.sizeBytes:可設(shè)置500M

druid.processing.numMergeBuffers(用于合并查詢結(jié)果的直接內(nèi)存緩沖區(qū)數(shù)):numMergeBuffers:numThreads = 1:4傀蚌,通常是一個合理的選擇

Direct Memory Sizing(直接內(nèi)存大谢浴)

當歷史節(jié)點處理查詢請求時,它需要讀取segments善炫,此時撩幽,需要一些直接內(nèi)存空間。

預(yù)估直接內(nèi)存使用量的公式:

(druid.processing.numThreads + druid.processing.numMergeBuffers + 1) * druid.processing.buffer.sizeBytes

Connection pool sizing(連接池大邢俊)

對于歷史節(jié)點摸航,druid.server.http.numThreads 應(yīng)設(shè)置為略高于druid.broker.http.numConnections 數(shù)量和(集群中所有broker節(jié)點相加)

可以從每個歷史節(jié)點接收50個查詢和10個非查詢開始對集群連接池進行調(diào)優(yōu)

Segment Cache Size(緩存大小)

druid.server.maxSize:Coordinator節(jié)點能夠分配給一個Historical節(jié)點 segment 總的數(shù)據(jù)大小

druid.segmentCache.locations:segment 存儲所在歷史節(jié)點的位置舅桩,這些位置所在磁盤的大小應(yīng)該大于等于druid.server.maxSize

歷史節(jié)點利用可用的系統(tǒng)內(nèi)存(沒有被jvm以及堆/直接內(nèi)存緩沖區(qū)使用的內(nèi)存)將segment文件映射到內(nèi)存中酱虎,當查詢到來時,不在內(nèi)存中的segment將會被從磁盤分頁(從磁盤移動到內(nèi)存)

因此擂涛,druid.server.maxSize的設(shè)置應(yīng)該使歷史節(jié)點不分配過量的segment读串。隨著 (free system memory/druid.server.maxSize)值的增加聊记,內(nèi)存中可以保留更多的segment,提供更好的查詢性能恢暖。

Number of Historicals(歷史節(jié)點的數(shù)量)

所需歷史節(jié)點的數(shù)量依賴于數(shù)據(jù)量的大小排监。為了獲取良好的性能,將需要足夠的歷史節(jié)點杰捂,以致于每個歷史節(jié)點有一個好的比率(free system memory/ druid.server.maxSize),如上述 segment cache size部分描述的那樣舆床。

在對使用場景有足夠的容錯情況下,擁有較少的大型服務(wù)器通常比擁有較多的小型服務(wù)器要好嫁佳。

SSD storage(SSD存儲)

我們建議歷史節(jié)點采用SSD存儲挨队,因為該節(jié)點處理存儲在磁盤上的segment數(shù)據(jù)。

Total memory usage(總的內(nèi)存使用)

根據(jù)如下指導(dǎo)來預(yù)估歷史節(jié)點總的內(nèi)存使用量:

Heap(堆):(0.5GB *? number of CPU cores) + (2 * total size of lookup maps) + druid.cache.sizeInBytes

Direct Memory(直接內(nèi)存):(druid.processing.numThreads + druid.processing.numMergeBuffers +1) * druid.processing.buffer.sizeBytes

歷史節(jié)點將會使用任意可用的系統(tǒng)內(nèi)存(jvm蒿往、堆/直接內(nèi)存緩沖區(qū)以及系統(tǒng)上其他進程未使用到的內(nèi)存)來對磁盤上的segments進行內(nèi)存映射盛垦。為了獲取更好的查詢性能,需要確保一個合適的比率(free system memory/ druid.server.maxSize),這樣就可以在內(nèi)存中保留更大比例的segments瓤漏。

續(xù)接 Druid調(diào)優(yōu)指南(二)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腾夯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蔬充,更是在濱河造成了極大的恐慌蝶俱,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饥漫,死亡現(xiàn)場離奇詭異跷乐,居然都是意外死亡,警方通過查閱死者的電腦和手機趾浅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馒稍,“玉大人皿哨,你說我怎么就攤上這事∨耍” “怎么了证膨?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鼓黔。 經(jīng)常有香客問我央勒,道長,這世上最難降的妖魔是什么澳化? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任崔步,我火速辦了婚禮,結(jié)果婚禮上缎谷,老公的妹妹穿的比我還像新娘井濒。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布瑞你。 她就那樣靜靜地躺著酪惭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪者甲。 梳的紋絲不亂的頭發(fā)上春感,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音虏缸,去河邊找鬼鲫懒。 笑死,一個胖子當著我的面吹牛寇钉,可吹牛的內(nèi)容都是我干的刀疙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼扫倡,長吁一口氣:“原來是場噩夢啊……” “哼谦秧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起撵溃,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤疚鲤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缘挑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體集歇,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年语淘,在試婚紗的時候發(fā)現(xiàn)自己被綠了诲宇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡惶翻,死狀恐怖姑蓝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吕粗,我是刑警寧澤纺荧,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站颅筋,受9級特大地震影響宙暇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜议泵,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一占贫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肢簿,春花似錦靶剑、人聲如沸蜻拨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缎讼。三九已至,卻和暖如春坑匠,著一層夾襖步出監(jiān)牢的瞬間血崭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工厘灼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夹纫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓设凹,卻偏偏與公主長得像舰讹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子闪朱,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355