資源管理
數(shù)據(jù)庫的系統(tǒng)資源(CPU資源、內(nèi)存資源、IO資源和存儲資源)是有限的,GaussDB(DWS)在同時運行多種類型的業(yè)務(wù)(如數(shù)據(jù)加載、批量分析、實時查詢等)時,各類型業(yè)務(wù)之間可能會競爭資源,從而出現(xiàn)資源性能瓶頸,導(dǎo)致吞吐量下降,造成整體的查詢性能低下。那么對系統(tǒng)的資源進(jìn)行合理的分配,能避免產(chǎn)生資源的不合理占用而導(dǎo)致的系統(tǒng)運行效率下降或者系統(tǒng)運行問題。
GaussDB(DWS)提供了資源管理功能,用戶可以根據(jù)自身業(yè)務(wù)將資源按需劃分成不同的資源池,不同資源池之間資源互相隔離。再通過關(guān)聯(lián)數(shù)據(jù)庫用戶將其關(guān)聯(lián)至不同的資源池,用戶SQL查詢時將根據(jù)“用戶-資源池”的關(guān)聯(lián)關(guān)系將查詢轉(zhuǎn)至資源池中執(zhí)行。通過指定資源池上可并行運行的查詢數(shù)、單查詢內(nèi)存上限以及資源池可使用的內(nèi)存和CPU資源,從而實現(xiàn)對不同業(yè)務(wù)之間的資源限制和隔離,滿足數(shù)據(jù)庫混合負(fù)載需求,保證執(zhí)行查詢時有充足的系統(tǒng)資源,確保查詢性能。
資源管理基本概念
GaussDB(DWS)的資源管理根據(jù)系統(tǒng)資源管控類型可分為:計算資源管理,存儲空間管理資及源管理計劃。
名詞
|
說明
|
---|---|
計算資源管理 |
主要由資源池功能實現(xiàn),對計算資源進(jìn)行隔離和限制,防止異常SQL查詢導(dǎo)致集群級異常,包括:并發(fā)管理、內(nèi)存管理、CPU管理以及異常規(guī)則。 |
存儲空間管理 |
從用戶和schema兩方面實現(xiàn)對存儲空間的管理,防止磁盤滿和數(shù)據(jù)庫只讀。 |
資源管理計劃 |
按計劃進(jìn)行資源管理自動配置,應(yīng)對復(fù)雜多變的負(fù)載場景,實現(xiàn)更為靈活的資源管理。 |
GaussDB(DWS)的資源管理根據(jù)管控時機(jī)可分為:運行前管理和運行中管理。
名詞
|
說明
|
---|---|
運行前管理 |
查詢運行前,對查詢進(jìn)行運行前管理,如果資源充足則查詢可以運行,否則查詢需要排隊,等待其他查詢釋放資源后才能運行。運行前管理包含并發(fā)管理和運行前內(nèi)存管理。 |
運行中管理 |
查詢執(zhí)行過程中,對查詢使用資源進(jìn)行管控,防止低質(zhì)量SQL導(dǎo)致集群異常。運行中管理包含運行中內(nèi)存管理、CPU管理、空間管理和異常規(guī)則。 |
資源管理功能
-
并發(fā)管理
并發(fā),即資源池中的最大查詢并發(fā)數(shù)。并發(fā)管理作為運行前管理,用于限制查詢并發(fā)運行的數(shù)量,通過限制查詢并發(fā)數(shù)降低資源爭搶,保證資源有序高效利用。
并發(fā)管理規(guī)則:短查詢加速開啟,復(fù)雜查詢受資源池并發(fā)控制,簡單查詢受短查詢并發(fā)控制;短查詢加速關(guān)閉,復(fù)雜查詢和簡單查詢均受資源池并發(fā)控制,短查詢并發(fā)控制無效。
并發(fā),即資源池中的最大查詢并發(fā)數(shù)。并發(fā)管理作為運行前管理,用于限制查詢并發(fā)運行的數(shù)量,通過限制查詢并發(fā)數(shù)降低資源爭搶,保證資源的有序高效利用。
并發(fā)管理規(guī)則:短查詢加速開啟,復(fù)雜查詢受資源池并發(fā)控制,簡單查詢受短查詢并發(fā)控制;短查詢加速關(guān)閉,復(fù)雜查詢和簡單查詢均受資源池并發(fā)控制,短查詢并發(fā)控制無效。
-
內(nèi)存管理
內(nèi)存資源,即資源池所占用的內(nèi)存百分比。內(nèi)存管理的目的是為了防止數(shù)據(jù)庫系統(tǒng)占用內(nèi)存過高導(dǎo)致內(nèi)存溢出(OOM)和實現(xiàn)資源池之間的內(nèi)存隔離和限制。
資源管理從“全局內(nèi)存管理”和“資源池內(nèi)存管理”兩方面進(jìn)行內(nèi)存管理。全局內(nèi)存管理包含運行前管理和運行中管理;資源池內(nèi)存管理屬于專屬限額的管理方式,即資源池分配多少內(nèi)存就只能使用多少內(nèi)存。
內(nèi)存資源,即資源池所占用的內(nèi)存百分比。內(nèi)存管理的目的是為了防止數(shù)據(jù)庫系統(tǒng)占用內(nèi)存過高導(dǎo)致內(nèi)存溢出(OOM)和實現(xiàn)資源池之間的內(nèi)存隔離和限制。
資源管理從“全局內(nèi)存管理”和“資源池內(nèi)存管理”兩方面進(jìn)行內(nèi)存管理。全局內(nèi)存管理包含運行前管理和運行中管理;資源池內(nèi)存管理屬于專屬限額的管理方式,即資源池分配多少內(nèi)存就只能使用多少內(nèi)存。
-
CPU管理
DWS利用cgroup進(jìn)行CPU資源管控,支持兩種CPU管理方式:
CPU共享配額:在CPU系統(tǒng)繁忙的情況下,不同資源池按照共享配額配置分配CPU資源。
CPU專屬限額:限制資源池使用的CPU核數(shù)上限,無論CPU系統(tǒng)繁忙或者空閑,該資源池上的作業(yè)都無法突破該限額配置。
DWS利用cgroup進(jìn)行CPU資源管控,支持兩種CPU管理方式:
CPU共享配額:在CPU系統(tǒng)繁忙的情況下,不同資源池按照共享配額配置分配CPU資源。
CPU專屬限額:限制資源池使用的CPU核數(shù)上限,無論CPU系統(tǒng)繁忙或者空閑,該資源池上的作業(yè)都無法突破該限額配置。
-
異常規(guī)則
異常規(guī)則用于對資源池中用戶執(zhí)行的作業(yè)做異??刂疲乐埂暗唾|(zhì)量SQL”長時間占用大量資源,導(dǎo)致其他查詢阻塞或性能下降。
DWS支持的異常規(guī)則項包含:阻塞時間,執(zhí)行所消耗時間,所有DN上CPU總時間,檢查傾斜率的時間間隔,所有DN上CPU總時間傾斜率,單DN算子下盤大小及DN平均消耗CPU占比。
異常規(guī)則用于對資源池中用戶執(zhí)行的作業(yè)做異??刂?,防止“低質(zhì)量SQL”長時間占用大量資源,導(dǎo)致其他查詢阻塞或性能下降。
DWS支持的異常規(guī)則項包含:
阻塞時間,執(zhí)行所消耗時間,所有DN上CPU總時間,檢查傾斜率的時間間隔,所有DN上CPU總時間傾斜率,單DN算子下盤大小及DN平均消耗CPU占比。
資源管理計劃
資源管理計劃功能是DWS提供的資源管理高級特性,用戶可以通過創(chuàng)建資源管理計劃,向計劃中添加多個時間階段,并為每個階段配置不同的資源配比。當(dāng)啟動計劃時,計劃就會按照配置在不同的時間段自動切換資源配置。如果用戶在不同的時間段運行不同的業(yè)務(wù),而這些業(yè)務(wù)又會占用不同比重的資源,使用資源管理計劃功能可以很好的幫助用戶實現(xiàn)不同時間段的資源配置自動切換。
-
資源管理計劃功能
資源管理計劃功能支持業(yè)務(wù)資源自動切換。用戶可以在控制臺上添加資源管理計劃,啟動資源管理計劃,查看資源管理計劃執(zhí)行日志,停止資源管理計劃等操作。
資源管理計劃功能支持業(yè)務(wù)資源自動切換。用戶可以在控制臺上添加資源管理計劃,啟動資源管理計劃,查看資源管理計劃執(zhí)行日志,停止資源管理計劃等操作。
-
四層負(fù)載均衡四層負(fù)載均衡
支持TCP協(xié)議、UDP協(xié)議、QUIC協(xié)議的四層負(fù)載均衡,滿足高性能和大規(guī)模并發(fā)連接的業(yè)務(wù)訴求
支持TCP協(xié)議、UDP協(xié)議、QUIC協(xié)議的四層負(fù)載均衡,滿足高性能和大規(guī)模并發(fā)連接的業(yè)務(wù)訴求
-
七層負(fù)載均衡七層負(fù)載均衡
支持HTTP協(xié)議和HTTPS協(xié)議的七層負(fù)載均衡,針對HTTPS協(xié)議提供多種加密協(xié)議和加密套件,滿足靈活安全的業(yè)務(wù)訴求
支持HTTP協(xié)議和HTTPS協(xié)議的七層負(fù)載均衡,針對HTTPS協(xié)議提供多種加密協(xié)議和加密套件,滿足靈活安全的業(yè)務(wù)訴求
-
資源管理計劃階段
支持對正在運行的資源管理計劃,進(jìn)行時間階段上的自定義,可以添加,修改資源管理計劃階段,還可以執(zhí)行手動切換資源管理計劃階段等操作。使用戶配置的資源管理計劃按照需求在不同的時間段自動切換資源配置。
支持對正在運行的資源管理計劃,進(jìn)行時間階段上的自定義,可以添加,修改資源管理計劃階段,還可以執(zhí)行手動切換資源管理計劃階段等操作。使用戶配置的資源管理計劃按照需求在不同的時間段切換。
-
導(dǎo)入導(dǎo)出資源管理計劃
支持導(dǎo)出及導(dǎo)入資源管理計劃,用戶可邊界的歸檔并分析資源配置和資源使用情況,并及時調(diào)整資源配置。
支持導(dǎo)出及導(dǎo)入資源管理計劃,用戶可邊界的歸檔并分析資源配置和資源使用情況,并及時調(diào)整資源配置。
-
四層會話保持四層會話保持
四層(TCP協(xié)議、UDP協(xié)議)負(fù)載均衡通過源IP地址提供會話保持能力
四層(TCP協(xié)議、UDP協(xié)議)負(fù)載均衡通過源IP地址提供會話保持能力
-
七層會話保持七層會話保持
七層(HTTP協(xié)議、HTTPS協(xié)議)負(fù)載均衡通過Cookie提供會話保持能力
七層(HTTP協(xié)議、HTTPS協(xié)議)負(fù)載均衡通過Cookie提供會話保持能力