GaussDB(DWS)實踐系列-資源管控方案技術實戰(zhàn)分享

      網(wǎng)友投稿 627 2025-03-31

      一、摘要


      項目交付中可能會遇到同時包含核心交易(OLTP)和報表分析(OLAP)的混合業(yè)務場景,其中報表分析類業(yè)務復雜度高,消耗大量系統(tǒng)資源,但實時性要求較低,而核心交易類業(yè)務并發(fā)較大,多為簡單事務處理,對實時性要求高。當系統(tǒng)處于業(yè)務高峰時,報表分析類業(yè)務并發(fā)操作會加劇系統(tǒng)負載,且長時間占用資源無法釋放,最終可能導致整體性能裂化,實時性要求較高的核心交易類業(yè)務因資源爭搶而無法得到響應,從而影響客戶整體體驗。

      資源管控的目的是基于業(yè)務場景和可用資源,進行合理的資源與并發(fā)度管控,以保障數(shù)據(jù)庫可以在高負載場景下正常運行,不會因為資源爭搶和耗盡出現(xiàn)系統(tǒng)卡死,提升系統(tǒng)整體吞吐量。

      二、場景分析

      如上圖所示,業(yè)務場景主要分為核心交易(OLTP)和報表分析(OLAP)兩大類,其中報表服務的優(yōu)先級相對較低,在合理的情況下優(yōu)先保障業(yè)務系統(tǒng)的正常運行。

      業(yè)務系統(tǒng)中運行的SQL分為簡單SQL和復雜SQL,大量復雜SQL的并發(fā)執(zhí)行會導致數(shù)據(jù)庫服務器資源爭搶,簡單SQL的大量并發(fā)對服務器不構成持續(xù)壓力,短時間內可執(zhí)行完成,不會造成業(yè)務堆積。其中報表服務中運行的SQL以復雜SQL居多,整體業(yè)務邏輯相對復雜,在數(shù)據(jù)庫層面需要分別對核心交易和報表服務進行合理的資源管控,以保障業(yè)務系統(tǒng)正常運行。

      三、方案規(guī)劃

      (一)?????? 靜態(tài)資源池規(guī)劃

      靜態(tài)資源池可以控制數(shù)據(jù)庫能使用服務器資源的上限,由于服務器操作系統(tǒng)運行也需要消耗一定的資源,因此預留一定的服務器資源來保障操作系統(tǒng)的正常運行。推薦靜態(tài)資源池配置:數(shù)據(jù)庫分配93% CPU資源和70% 內存資源。這樣可以保證服務器能夠正常響應系統(tǒng)請求。

      l? 靜態(tài)資源池分配93% CPU資源和70% 內存資源。

      (二)?????? 交易用戶和報表用戶分離

      報表分析類業(yè)務的優(yōu)先級和實時性相對較低,但是復雜度更高,為有效進行資源管控,將報表分析和核心交易業(yè)務進行數(shù)據(jù)庫用戶分離,例如核心交易業(yè)務使用數(shù)據(jù)庫用戶budget_config_user,報表分析業(yè)務使用數(shù)據(jù)庫用戶report_user。針對交易用戶和報表用戶分別進行CPU資源和并發(fā)數(shù)控制以保障數(shù)據(jù)庫穩(wěn)定運行。

      結合報表分析業(yè)務的負載調研、日常監(jiān)控和測試驗證,20并發(fā)以內的復雜報表SQL不會引起服務器資源爭搶,不會引起業(yè)務系統(tǒng)卡慢,因此配置報表用戶最多使用20%的CPU資源。

      結合核心交易業(yè)務的的負載調研、日常監(jiān)控和測試驗證,50并發(fā)以內的復雜SQL不會對系統(tǒng)造成持續(xù)壓力,整體CPU負載小于60%。

      l? 交易用戶分配60%的CPU配額和50并發(fā)。

      l? 報表用戶分配20%的CPU限額和20并發(fā)。

      其中CPU配額是指占用CPU時間片的百分比。若分配給某個用戶的CPU配額資源未使用,系統(tǒng)會自動將這些資源共享給其他用戶。CPU限額是指用戶可以使用的CPU核數(shù)的百分比。系統(tǒng)會將百分比換算成具體的核數(shù)供用戶使用,且用戶可使用的CPU限額資源不超過通過百分比換算的核數(shù)范圍。

      (三)?????? 并發(fā)管控閾值設置

      資源管控的并發(fā)控制是基于SQL的cost值(SQL執(zhí)行代價)來評估,結合客戶場景、硬件配置和SQL測試分析,當SQL的cost值小于1000時,SQL并發(fā)對服務器不構成持續(xù)壓力,短時間內可執(zhí)行完成,不會造成業(yè)務堆積。當SQL的cost值大于1000時,大量并發(fā)會導致服務器資源爭搶,引起系統(tǒng)卡慢。

      因此將受控SQL的cost的臨界值設置為1000。當SQL的cost值大于1000時受資源管控的并發(fā)度控制,當SQL的cost值小于1000時不受資源管控的并發(fā)度控制。

      l? 區(qū)分SQL復雜和簡單的cost值設置為1000

      四、實施方案

      (一)?????? 配置靜態(tài)資源池

      l? 登錄運維管理頁面,配置靜態(tài)服務池,設置cpu為93%,內存為70%

      (二)?????? 數(shù)據(jù)庫用戶分離

      創(chuàng)建交易用戶(budget_config_user)和報表用戶(report_user)。

      (三)?????? 配置cgroup

      使用omm用戶登錄數(shù)據(jù)服務器,執(zhí)行如下命令設置CPU配額:

      source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      gs_ssh -c "gs_cgroup -c -S class1 -s ? 60"

      gs_ssh -c "gs_cgroup -c -S class1 -G wg1 -g ? 99"

      gs_ssh -c "gs_cgroup -c -S class2 -s 20 ? "

      gs_ssh -c "gs_cgroup -u -S class2 -s 20 ? --fixed"

      gs_ssh -c "gs_cgroup -c -S class2 -G wg2 -g ? 99 "

      (四)?????? 創(chuàng)建資源池并綁定cgroup

      使用omm用戶登錄數(shù)據(jù)庫服務器,執(zhí)行如下命令設置并發(fā)管控:

      source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      gSQL -d postgres -p 25308 -c "create ? resource pool rp1 with ? (mem_percent=0,active_statements=50,control_group='class1:wg1');”

      gSQL -d postgres -p 25308 -c "create ? resource pool rp2 with (mem_percent=0,active_statements=20,control_group='class2:wg2');"

      (五)?????? 用戶綁定資源池

      使用omm用戶登錄數(shù)據(jù)庫服務器,執(zhí)行如下命令將用戶綁定資源池:

      source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      gSQL -d postgres -p 25308 -c "alter user budget_config_user ? resource pool 'rp1';"

      gSQL -d postgres -p 25308 -c "alter user report_user resource ? pool 'rp2';"

      (六)?????? 修改數(shù)據(jù)庫參數(shù)并重啟生效

      GaussDB(DWS)實踐系列-資源管控方案技術實戰(zhàn)分享

      使用omm用戶登錄數(shù)據(jù)庫服務器,執(zhí)行如下命令修改數(shù)據(jù)庫參數(shù):

      source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      gs_guc reload -Z coordinator -Z datanode -N all ? -I all -c "parctl_min_cost=1000"

      gs_guc set -Z coordinator -Z datanode -N all -I ? all -c "enable_dynamic_workload=off"

      cm_ctl stop

      cm_ctl start

      五、資源管控測試驗證

      (一)?????? 測試SQL樣例

      select count(1) from p#fasp_t_glctrl122299 a,p#fasp_t_glctrl122299 ? b;

      打印執(zhí)行計劃如下,cost值大于1000,已按方案設置資源管控的并發(fā)控制閾值cost為1000:

      (二)?????? 交易用戶并發(fā)驗證

      l? 使用交易用戶budget_config_user

      l? 使用測試SQL樣例(cost值大于1000)

      l? 啟動100并發(fā)測試

      使用budget_config_user進行100并發(fā)樣例SQL驗證,當并發(fā)數(shù)達到50時管控,超過50并發(fā)后剩余SQL在管道內排隊等待執(zhí)行。

      (三)?????? 報表用戶并發(fā)驗證

      l? 使用報表用戶report_user

      l? 使用測試SQL樣例(cost值大于1000)

      l? 啟動100并發(fā)測試

      使用report_user進行100并發(fā)樣例SQL驗證,當并發(fā)數(shù)達到20時管控,超過20并發(fā)后剩余SQL在管道內排隊,等待執(zhí)行。

      (四)?????? 報表用戶和交易用戶同時并發(fā)驗證

      l? 分別使用交易用戶budget_config_user和報表用戶report_user

      l? 使用測試SQL樣例(cost值大于1000)

      l? 分別啟動100并發(fā)測試

      使用budget_config_user和report_user分別進行100并發(fā)樣例SQL驗證,交易用戶并發(fā)50受控,報表用戶并發(fā)20受控。

      (五)?????? 報表用戶限額CPU驗證

      l? 使用報表用戶report_user

      l? 使用測試SQL樣例(cost值大于1000)

      l? 啟動100并發(fā)測試

      CPU限額設置20%,使用report_user進行100并發(fā)樣例SQL驗證,CPU使用達到20%時進行資源管控。

      CPU限額設置30%,使用report_user進行100并發(fā)樣例SQL驗證,CPU使用達到30%時進行資源管控。

      (六)?????? 交易用戶配額CPU驗證

      l? 使用交易用戶budget_config_user

      l? 使用測試SQL樣例(cost值大于1000)

      l? 啟動100并發(fā)測試

      在配額60%CPU的情況下,CPU使用可以超過60%,不進行CPU強制限制(這點與限額不同),業(yè)務高峰時可以根據(jù)業(yè)務情況彈性擴展。

      華為云社區(qū)論壇鏈接:https://bbs.huaweicloud.com/forum/forum-598-1.html

      EI企業(yè)智能 Gauss AP 數(shù)據(jù)倉庫服務 GaussDB(DWS)

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

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

      上一篇:excel表格固定區(qū)域怎么選擇(Excel表格怎么選定區(qū)域)
      下一篇:Linux開發(fā)(驅動&應用)學習路線規(guī)劃
      相關文章
      亚洲毛片基地4455ww| 亚洲一级毛片免费看| yy6080久久亚洲精品| 亚洲成人黄色在线| 亚洲中文无码永久免| 亚洲 日韩 色 图网站| 亚洲av无码兔费综合| 国产青草亚洲香蕉精品久久| 亚洲成a人片毛片在线| 国产成人亚洲精品蜜芽影院| 久久精品国产亚洲AV天海翼| 国产精品亚洲二区在线观看| 亚洲日韩中文字幕日韩在线| 亚洲精品高清视频| 爱情岛亚洲论坛在线观看| 久久青青成人亚洲精品| 亚洲粉嫩美白在线| 在线亚洲精品自拍| 亚洲视频免费在线看| 亚洲AV网一区二区三区 | 亚洲va无码va在线va天堂| 色婷五月综激情亚洲综合| 亚洲国产av一区二区三区| 午夜亚洲AV日韩AV无码大全| 中国亚洲呦女专区| 精品国产亚洲一区二区在线观看| 亚洲国产美女精品久久| 亚洲成a人在线看天堂无码| 国产亚洲3p无码一区二区| 色婷婷亚洲一区二区三区| 亚洲另类春色国产精品| 久久精品夜色噜噜亚洲A∨| 亚洲国产成人精品电影| 精品亚洲视频在线观看 | 国产天堂亚洲国产碰碰| 国产亚洲日韩一区二区三区| 亚洲精品国产精品国自产网站 | 亚洲乱码国产一区网址| 亚洲人成人77777在线播放| 亚洲色偷拍另类无码专区| 亚洲视频在线观看视频|