全部產品
Search
文件中心

AnalyticDB:資源管理

更新時間:Mar 13, 2025

AnalyticDB for PostgreSQL支援資源隊列(Resource Queue)和資源群組(Resource Group)兩種資源管理方式對資料庫資源進行管理,為不同類別的業務查詢之間提供資源隔離,從而確保資源得到充分而合理的利用,保證不同服務需求之間的獨立性。本文介紹如何通過資源隊列和資源群組這兩種資源管理方式對AnalyticDB for PostgreSQL資料庫的CPU、記憶體、磁碟落盤等資源進行管理。

資源隊列管理

資源隊列基於輕量級鎖等技術實現,支援對AnalyticDB for PostgreSQL資料庫的並發查詢數、查詢使用的記憶體、查詢的CPU優先順序等資源類別進行管理。具體使用方式,請參見使用Resource Queue(資源隊列)進行負載管理

資源群組管理

資源群組基於共用記憶體、cgroup等技術實現,支援對AnalyticDB for PostgreSQL資料庫的並發查詢數、查詢使用的記憶體、查詢的CPU使用率、磁碟落盤閾值等資源類別進行管理,支援通過控制台操作。具體使用方式,請參見使用Resource Group(資源群組)進行負載管理

查詢資源管理方式

您可以執行SQL查詢當前AnalyticDB for PostgreSQL執行個體所使用的資源管理方式,具體代碼如下:

SHOW gp_resource_manager;

執行結果:

  • group:使用資源群組的資源管理方式。

  • queue:使用資源隊列的資源管理方式。

選擇資源管理方式

您可以根據業務情況,選擇合適的資源管理方式。資源隊列與資源群組的區別如下:

業務

資源隊列

資源群組

管控項

CPU、記憶體、最佳化器

CPU、記憶體、最佳化器

落盤、最小管控最佳化器代價

使用功能方式

基於使用者組

基於使用者組

並發管理

基於鎖,容易產生死結

基於共用記憶體,不會產生死結

CPU管理

基於優先順序,模糊管理

基於cgroup,精確管理

記憶體管理

支援

支援

管控層級

查詢層級

事務層級

以下列舉了不同業務情境選擇的資源管理方式:

  • 採用資源隊列的管理方式。

    不關注細粒度資源管理,希望僅僅通過CPU優先順序對幾類業務進行簡單的資源配置,不在乎資源隊列引發的死結問題,可以在業務中進行重試。

  • 採用資源群組的管理方式。

    • 希望盡量避免資源隊列偶發死結帶來的業務重試需要,希望完全消除資源隊列導致的死結問題。

    • 希望通過控制台管理資源配置,不希望通過SQL的方式進行資源管理。

    • 有細粒度、精確地進行資源管理的需求,比如對幾類不同的業務分別限制CPU上限或者CPU時間片分配比例,在同業務之間達到比較好的資源隔離效果。