云数据库 TAURUSDB-多租户管理与资源隔离:资源管理

时间:2024-12-03 09:29:33

资源管理

资源配置(resource_config)和租户是一对多的关系,当某一租户绑定此资源配置时便可限制此租户下用户使用的CPU资源。

  • 创建资源配置
    CREATE resource_config config_name MAX_CPU [=] {max_cpu_value} [MIN_CPU [=] {min_cpu_value}];
  • 更新资源配置
    ALTER resource_config config_name MAX_CPU [=] {max_cpu_value} [MIN_CPU [=] {min_cpu_value}];
  • 删除资源配置
    DROP resource_config config_name;
  • 查看资源配置
    SELECT * FROM information_schema.DBA_RSRC_TENANT_RESOURCE_CONFIGS;
  • 仅在高权限root用户下可使用。
  • 参数说明:
    • config_name: 资源配置名称。最大长度为64,仅支持包含大写字母、小写字母、数字或下划线。
    • MAX_CPU:绑定该资源配置的租户能够使用的最大CPU资源,单位为核数,最小值为0.1,最大值为实例规格中的CPU核数,可查看变量mt_flavor_cpu获取。粒度0.1。
    • MIN_CPU:在CPU资源争抢时,承诺分配给绑定该资源配置的租户的CPU资源,单位为核数,为可选项。默认等于MAX_CPU,最小值为0.1,最大值不超过MAX_CPU。粒度为0.1。(注意:shared_tenants_config为系统内置的资源配置,其MIN_CPU为0)。承诺分配给租户的CPU资源遵循按需分配策略,不会预留,例如:承诺给租户分配1U,但如果租户业务空闲,只会使用0.3U,则剩余的0.7U会按需分配给其他租户。
  • 更新resource_config时,如果该resource_config已经绑定租户,且更新后MIN_CPU值大于原有的MIN_CPU值,则需要校验修改后的值是否满足资源约束,否则不做资源约束校验。
  • 删除resource_config时,若租户正在使用该资源配置,则无法进行删除操作。
  • CPU争抢时,租户间资源分配会尽量按照租户的MIN_CPU分配资源,但存在一定的误差,误差通常在1U以内。
  • 各租户下的实例的读写性能峰值并非和分配到的CPU资源呈线性关系。例如16U的实例分配给2个租户的MAX_CPU均为8U,那么两个租户同时满载跑业务的总共的TPS将达不到8U实例的2倍。即租户下的实例性能可能比同等规格的非多租实例的性能稍低。
support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0053.html