openGauss學習筆記-234 openGauss性能調優-系統調優-資源負載管理-資源管理準備-設置控制組

文章目錄

    • openGauss學習筆記-234 openGauss性能調優-系統調優-資源負載管理-資源管理準備-設置控制組
      • 234.1 背景信息
      • 234.2 前提條件
      • 234.3 操作步驟
        • 234.3.1 創建子Class控制組和Workload控制組
        • 234.3.2 更新控制組的資源配額
        • 234.3.3 刪除控制組
      • 234.4 查看控制組的信息

openGauss學習筆記-234 openGauss性能調優-系統調優-資源負載管理-資源管理準備-設置控制組

234.1 背景信息

openGauss資源負載管理的核心是資源池,而配置資源池首先要在環境中實現控制組Cgroups的設置。更多Cgroups的原理介紹,請查看相關操作系統的產品手冊。openGauss的控制組請參考查看控制組的信息

Class控制組為數據庫業務運行所在的頂層控制組,集群部署時會自動生成默認子Class控制組“DefaultClass”。DefaultClass的Medium控制組會含有系統觸發的作業在運行,該控制組不允許進行資源修改,且運行在該控制組上的作業不受資源管理的控制,所以推薦創建新的子Class及其Workload控制組來設置資源比例。

234.2 前提條件

已熟悉《工具與命令參考》中“服務端工具 > gs_cgroup”章節和“服務端工具 > gs_ssh”章節的使用。

234.3 操作步驟

img 說明:

  • 在openGauss中,需要在每個集群節點上執行控制組的創建、更新、刪除操作,才能實現對整個集群資源的控制,所以下述步驟中都使用《工具與命令參考》中“服務端工具 > gs_ssh”命令執行。
  • 控制組的命名要求如下:
  • 無論是子Class控制組還是Workload控制組,都不允許在名稱中包含字符“:”。
  • 不可以創建同名的控制組。
234.3.1 創建子Class控制組和Workload控制組
  1. 以操作系統用戶omm登錄openGauss主節點。

  2. 創建名稱為“class_a”和“class_b”的子Class控制組,CPU資源配額分別為Class的40%和20%。

    gs_ssh -c "gs_cgroup -c -S class_a -s 40"
    
    gs_ssh -c "gs_cgroup -c -S class_b -s 20"
    
  3. 創建子Class控制組“class_a”下名稱為“workload_a1”和“workload_a2”的Workload控制組,CPU資源配額分別為“class_a”控制組的20%和60%。

    gs_ssh -c "gs_cgroup -c -S class_a -G workload_a1 -g 20 "
    
    gs_ssh -c "gs_cgroup -c -S class_a -G workload_a2 -g 60 "
    
  4. 創建子Class控制組“class_b”下名稱為“workload_b1”和“workload_b2”的Workload控制組,CPU資源配額分別為“class_b”控制組的50%和40%。

    gs_ssh -c "gs_cgroup -c -S class_b -G workload_b1 -g 50 "
    
    gs_ssh -c "gs_cgroup -c -S class_b -G workload_b2 -g 40 "
    
234.3.2 更新控制組的資源配額
  1. 更新“class_a”控制組的CPU資源配額為30%。

    gs_ssh -c "gs_cgroup -u -S class_a -s 30"
    
  2. 更新“class_a”下的“workload_a1”的CPU資源配額為“class_a”的30%。

    gs_ssh -c "gs_cgroup -u -S class_a -G workload_a1 -g 30"
    

    img 須知: 調整后的Workload控制組“workload_a1”占有的CPU資源不應大于其對應的子Class控制組“class_a”。并且,此名稱不能是Timeshare Cgroup的默認名稱,如“Low”、“Medium”、“High”或“Rush”。

234.3.3 刪除控制組
  1. 刪除控制組“class_a”。

    gs_ssh -c "gs_cgroup -d  -S class_a"
    

    以上操作可以刪除控制組“class_a”。

    img 須知: root用戶或者具有root訪問權限的用戶指定“-d” 和“-U username”刪除普通用戶“username”可訪問的默認Cgroups。普通用戶指定“-d”和“-S classname”可以刪除已有的Class Cgroups。

234.4 查看控制組的信息

  1. 查看配置文件中控制組信息。

    gs_cgroup -p 
    

    控制組配置信息

    gs_cgroup -pTop Group information is listed:
    GID:   0 Type: Top    Percent(%): 1000( 50) Name: Root                  Cores: 0-47
    GID:   1 Type: Top    Percent(%):  833( 83) Name: Gaussdb:omm           Cores: 0-20
    GID:   2 Type: Top    Percent(%):  333( 40) Name: Backend               Cores: 0-20
    GID:   3 Type: Top    Percent(%):  499( 60) Name: Class                 Cores: 0-20Backend Group information is listed:
    GID:   4 Type: BAKWD  Name: DefaultBackend   TopGID:   2 Percent(%): 266(80) Cores: 0-20
    GID:   5 Type: BAKWD  Name: Vacuum           TopGID:   2 Percent(%):  66(20) Cores: 0-20Class Group information is listed:
    GID:  20 Type: CLASS  Name: DefaultClass     TopGID:   3 Percent(%): 166(20) MaxLevel: 1 RemPCT: 100 Cores: 0-20
    GID:  21 Type: CLASS  Name: class1           TopGID:   3 Percent(%): 332(40) MaxLevel: 2 RemPCT:  70 Cores: 0-20Workload Group information is listed:
    GID:  86 Type: DEFWD  Name: grp1:2           ClsGID:  21 Percent(%):  99(30) WDLevel:  2 Quota(%): 30 Cores: 0-5Timeshare Group information is listed:
    GID: 724 Type: TSWD   Name: Low              Rate: 1
    GID: 725 Type: TSWD   Name: Medium           Rate: 2
    GID: 726 Type: TSWD   Name: High             Rate: 4
    GID: 727 Type: TSWD   Name: Rush             Rate: 8Group Exception information is listed:
    GID:  20 Type: EXCEPTION Class: DefaultClass
    PENALTY: QualificationTime=1800 CPUSkewPercent=30GID:  21 Type: EXCEPTION Class: class1
    PENALTY: AllCpuTime=100 QualificationTime=2400 CPUSkewPercent=90GID:  86 Type: EXCEPTION Group: class1:grp1:2
    ABORT: BlockTime=1200 ElapsedTime=2400
    

    上述示例查看到的控制組配置信息如表1所示。

    表 1 控制組配置信息

    GID類型名稱Percent(%)信息特定信息
    0Top控制組Root1000代表總的系統資源為1000份。括號中的50代表IO資源的50%。openGauss不通過控制組對IO資源做控制,因此下面其他控制組信息中僅涉及CPU配額情況。-
    1Gaussdb:omm系統中只運行一套數據庫程序,Gaussdb:omm控制組默認配額為833,數據庫程序和非數據庫程序的比值為(833:167=5:1)。-
    2BackendBackend和Class括號中的40和60,代表Backend占用Gaussdb:dbuser控制組40%的資源,Class占用Gaussdb:dbuser控制組60%的資源。-
    3Class-
    4Backend控制組DefaultBackend括號中的80和20代表DefaultBackend和Vacuum占用Backend控制組80%和20%的資源。TopGID:代表Top類型控制組中Backend組的GID,即2。
    5Vacuum
    20Class控制組DefaultClassDefaultClass和class1的20和40代表占Class控制組20%和40%的資源。因為當前只有兩個Class組,所有它們按照20:40的比例分配Class控制組499的系統配額,則分別為166和332。TopGID:代表DefaultClass和class1所屬的上層控制(Top控制組中的Class組)的GID,即3。MaxLevel:Class組當前含有的Workload組的最大層次,DefaultClass沒有Workload Cgroup,其數值為1。RemPCT:代表Class組分配Workload組后剩余的資源百分比。如class1中剩余的百分比為70。
    21class1
    86Workload控制組grp1:2(該名稱由Workload Cgroup Name和其在class中的層級組成,它是class1的第一個Workload組,層級為2,每個Class組最多10層Workload Cgroup。)根據設置,其占class1的百分比為30,則為332*30%=99。ClsGID:代表Workload控制組所屬的上層控制組(class1控制組)的GID。WDLevel:代表當前Workload Cgroup在對應的Class組所在的層次。
    724Timeshare控制組Low-Rate:代表Timeshare中的分配比例,Low最少為1,Rush最高為8。這四個Timeshare組的資源配比為Rush:High:Medium:Low=8:4:2:1
    725Medium-
    726High-
    727Rush-
  2. 查看操作系統中樹形結構的控制組信息。

    執行如下命令可以查詢控制組樹形結構信息。

    gs_cgroup -P
    

    返回信息如下,其中shares代表操作系統中CPU資源的動態資源配額“cpu.shares”的數值,cpus代表操作系統中CPUSET資源的動態資源限額“cpuset.cpus”的數值,指的是該控制組能夠使用的核數范圍。

    Mount Information:
    cpu:/dev/cgroup/cpu
    blkio:/dev/cgroup/blkio
    cpuset:/dev/cgroup/cpuset
    cpuacct:/dev/cgroup/cpuacctGroup Tree Information:
    - Gaussdb:wangrui (shares: 5120, cpus: 0-20, weight: 1000)- Backend (shares: 4096, cpus: 0-20, weight: 400)- Vacuum (shares: 2048, cpus: 0-20, weight: 200)- DefaultBackend (shares: 8192, cpus: 0-20, weight: 800)- Class (shares: 6144, cpus: 0-20, weight: 600)- class1 (shares: 4096, cpus: 0-20, weight: 400)- RemainWD:1 (shares: 1000, cpus: 0-20, weight: 100)- RemainWD:2 (shares: 7000, cpus: 0-20, weight: 700)- Timeshare (shares: 1024, cpus: 0-20, weight: 500)- Rush (shares: 8192, cpus: 0-20, weight: 800)- High (shares: 4096, cpus: 0-20, weight: 400)- Medium (shares: 2048, cpus: 0-20, weight: 200)- Low (shares: 1024, cpus: 0-20, weight: 100)- grp1:2 (shares: 3000, cpus: 0-5, weight: 300)- TopWD:1 (shares: 9000, cpus: 0-20, weight: 900)- DefaultClass (shares: 2048, cpus: 0-20, weight: 200)- RemainWD:1 (shares: 1000, cpus: 0-20, weight: 100)- Timeshare (shares: 1024, cpus: 0-20, weight: 500)- Rush (shares: 8192, cpus: 0-20, weight: 800)- High (shares: 4096, cpus: 0-20, weight: 400)- Medium (shares: 2048, cpus: 0-20, weight: 200)- Low (shares: 1024, cpus: 0-20, weight: 100)- TopWD:1 (shares: 9000, cpus: 0-20, weight: 900)
    
  3. 通過系統視圖獲取控制組配置信息。

    a.使用gsql訪問openGauss數據庫。

    b.獲取系統中所有控制組的配置信息。

    openGauss=# SELECT * FROM gs_all_control_group_info;
    

👍 點贊,你的認可是我創作的動力!

?? 收藏,你的青睞是我努力的方向!

?? 評論,你的意見是我進步的財富!

img

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717495.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717495.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717495.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第八節 龍晰Anolis 8.8 安裝 DDE 桌面環境

一、前言 最小化安裝的龍晰 Anolis OS 8.8 是不帶圖形化界面的,只能使用命令行,有些時候需要用到桌面環境,而DDE (Deepin Desktop Enviroment) 就是很好的桌面環境,它是指龍晰 Anolis 所搭載的中國自主桌面環境,用起來…

客戶快遞信息管理系統——導入文件識別存儲

客戶快遞信息管理系統背景: 目前不少公司都提供網購服務,為了將商品快遞給客戶,就必須保存和管理客戶的姓名、電話號碼、郵寄地址等信息。為此,本項目要求完成一個小型客戶快遞信息管理系統,完成對客戶快遞信息的建立…

C++構造函數析構函數

構造和析構函數用于管理對象的初始化和清理工作,確保對象的正確生命周期管理。以下是其重要特性: 構造函數不能是虛函數 從存儲空間角度: 虛函數是需要通過虛函數表和虛指針來調用的,如果用虛函數實現構造函數,而對象…

【算法沉淀】刷題筆記:并查集 帶權并查集+實戰講解

🎉🎉歡迎光臨🎉🎉 🏅我是蘇澤,一位對技術充滿熱情的探索者和分享者。🚀🚀 🌟特別推薦給大家我的最新專欄《數據結構與算法:初學者入門指南》📘&am…

Day13:信息打點-JS架構框架識別泄漏提取API接口枚舉FUZZ爬蟲插件項目

目錄 JS前端架構-識別&分析 JS前端架構-開發框架分析 前端架構-半自動Burp分析 前端架構-自動化項目分析 思維導圖 章節知識點 Web:語言/CMS/中間件/數據庫/系統/WAF等 系統:操作系統/端口服務/網絡環境/防火墻等 應用:APP對象/API接…

QML學習之Text

文本顯示是界面開發中的重要內容,在Qt Quick模塊中提供了 Text 項來進行文本的顯示,其中可以使用 font 屬性組對文本字體進行設置: font.bold:是否加粗,取值為true或false font.capitalization:大寫策略&a…

01.20 校招 實習 內推 面經

綠*泡*泡VX: neituijunsir 交流*裙 ,內推/實習/校招匯總表格 1、校招 | 中興微電子2024屆校園招聘 校招 | 中興微電子2024屆校園招聘 2、長城汽車2024大學生開放日上大分! 長城汽車2024大學生開放日上大分! 3、校招 | 江淮汽…

java程序員的金三銀四求職寶典(二)

程序員的金三銀四求職寶典 隨著春天的腳步漸近,對于許多程序員來說,一年中最繁忙、最重要的面試季節也隨之而來。金三銀四,即三月和四月,被廣大程序員視為求職的黃金時期。在這兩個月里,各大公司紛紛開放招聘&#xf…

倒計時36天

C-小紅關雞_牛客周賽 Round 35 (nowcoder.com) //超時 134.17/175 主要是循環這部分的問題 #include <bits/stdc.h> using namespace std; #define int long long const int N 2e5 6; const int inf 0x3f3f3f3f; int a[N]; void solve() {int n,k;cin>>n>…

多模態大語言模型的ai反饋增強機器人操作研究

本研究關注于利用大語言模型&#xff08;LLMs&#xff09;提供的自動化偏好反饋來增強決策過程 ○ 提出了一種多模態LLM&#xff0c;稱為CriticGPT&#xff0c;可以理解機器人操作任務中的軌跡視頻&#xff0c;并提供分析和偏好反饋 ○ 從獎勵建模的角度驗證了CriticGPT生成的…

使用 MongoDB Atlas 無服務器實例更高效地開發應用程序

使用 MongoDB Atlas無服務器實例更高效地開發應用程序 身為開發者&#xff0c;數據庫并不一定需要您來操心。您可不想耗費時間來預配置集群或調整集群大小。同樣地&#xff0c;您也不想操心因未能正確擴展而導致經費超標。 MongoDB Atlas 可為您提供多個數據庫部署選項。雖然…

【javascript】快速入門javascript

本文前言及說明 適合學過一門語言有一定基礎的人看。 省略最初學習編程時的各種編程重復的基礎知識。 javascript簡介 編程語言&#xff08;主前端&#xff09; 用途&#xff1a;主web前后端&#xff0c;游戲&#xff0c;干別人網站 優點&#xff1a;速度快&#xff0c;瀏…

一文掃盲:室內導航系統的應用場景和技術實現(入門級)

hello&#xff0c;我是貝格前端工場&#xff0c;之間搞過一些室內導航項目&#xff0c;有2D也有3D的&#xff0c;算是有些經驗&#xff0c;這里給大家分享一下室內導航的基本嘗試&#xff0c;歡迎老鐵們點贊、關注&#xff0c;如有需求可以私信我們。 一、室內導航是什么 室內…

Vue開發實例(十)Tabs標簽頁打開、關閉與路由之間的關系

創建標簽頁 一、創建標簽頁二、點擊菜單展示新標簽頁1、將標簽數據作為全局使用2、菜單點擊增加標簽頁3、處理重復標簽4、關閉標簽頁 三、點擊標簽頁操作問題1&#xff1a;點擊標簽頁選中菜單進行高亮展示問題2&#xff1a;點擊標簽頁路由也要跳轉 四、解決bug 先展示最終效果 …

Android 基礎入門 基礎簡介

1. 觀察App運行日志 2.Android 開發設計的編程語言 koltin Java c c 3.工程目錄結構 4.Gradle 5.build.gradle 文件解析 plugins {id("com.android.application")//用了哪些插件 主配置文件版本控制 所以這里不用寫版本 }android {namespace "com.tiger.myap…

【C++】每周一題——2024.3.3(手滑再寫一篇)

題目 Cpp 【問題描述】 輸入一個由若干個以空格分隔的單詞組成的英文文章&#xff0c;求文章中最短的單詞&#xff08;文章以英文句點”.”結束&#xff0c;且字符數不超過200&#xff09;. 【輸入格式】 一行&#xff0c;表示輸入的英文文章。 【輸出格式】 一行&#xff0c;表…

反向代理與負載均衡

目錄 反向代理 負載均衡 反向代理 代理角色&#xff1a; 正常情況下&#xff0c;客戶端&#xff08;如瀏覽器&#xff09;直接與服務器通信&#xff0c;但在反向代理中&#xff0c;Nginx充當客戶端和服務器之間的中介。客戶端向Nginx發送請求&#xff0c;而Nginx負責將請求轉…

基于springboot+vue的二手車交易系統

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

金三銀四,風控建模面試全攻略:從簡歷準備到面試技巧

隨著春天的到來,招聘市場的 “金三銀四” 也悄然而至。公眾號的小伙伴問我有沒有面試相關指導課程,上完課后,把整理的部分材料通過文章分享給更多有需要的朋友。預祝大家順利獲得心儀的職位。本文將從簡歷準備、面試注意事項以及高頻面試問題三個方面,為你提供一份全面的風…

字符串判空錯誤

字符串判空錯誤 前端傳來的請求數據&#xff0c;若用只用String為null判斷&#xff0c;則忽略了str“”的情況&#xff0c;此時str不空&#xff0c;但str.length()0 RequestMapping(path "/add", method RequestMethod.POST)ResponseBodypublic String addDiscuss…