日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多租戶資源隔離使用示例

本文介紹了多租戶資源隔離示例,您可以按照本文的內容自行測試,以快速了解和使用多租戶資源隔離功能。

測試環境

  • 使用的ECS實例和PolarDB MySQL版集群均位于同一地域和同一可用區。

  • 網絡類型均為VPC網絡。

    說明

    ECS實例和PolarDB MySQL版集群需保證在同一個VPC中。

  • 使用的PolarDB MySQL版集群信息如下:

    • 版本為PolarDB MySQL版8.0.2版本。

    • 產品系列為集群版。

    • 節點規格為polar.mysql.x4.xlarge(8核32 GB獨享規格)

    • 節點數量為2(一個主節點和一個只讀節點)。

    • 使用的連接串為集群地址。查看PolarDB MySQL版集群地址的具體步驟請參見查看連接地址和端口

    • 關鍵信息配置如下:

      thread_pool_enable = ON
      thread_pool_size = 8 // 與PolarDB MySQL版集群規格中的核數保持一致
      thread_pool_multi_tenant_enabled = ON
      enable_multi_tenant = ON
  • 使用的ECS實例信息如下:

    • 實例規格為ecs.g7.2xlarge。

    • 實例使用的鏡像為Ubuntu 22.04 64位。

測試流程

步驟一:創建資源配置信息

使用高權限賬號連接數據庫,并創建多種資源配置信息,用于對租戶資源進行限制。

CREATE resource_config r1 min_cpu 0 max_cpu 1;
CREATE resource_config r2 min_cpu 0 max_cpu 2;
CREATE resource_config r3 min_cpu 0 max_cpu 4;
CREATE resource_config r4 min_cpu 0 max_cpu 8;
CREATE resource_config r5 min_cpu 1 max_cpu 2;
CREATE resource_config r6 min_cpu 2 max_cpu 4;
CREATE resource_config r7 min_cpu 4 max_cpu 8;
CREATE resource_config r8 min_cpu 6 max_cpu 8;
CREATE resource_config r9 min_cpu 7 max_cpu 8;

資源配置信息創建完成后,您可以通過查詢mysql.tenant_resource_config表來查看當前所有的配置資源。

SELECT * FROM mysql.tenant_resource_config;

步驟二:創建租戶

使用高權限賬號連接數據庫,分別創建tenant_1tenant_2兩個租戶,且在創建租戶時與指定的資源配置信息綁定。

# 創建租戶 tenant_1
CREATE tenant tenant_1 resource_config r1;
# 創建租戶 tenant_2
CREATE tenant tenant_2 resource_config r5;
  • 創建租戶tenant_1時,將此租戶與資源配置r1綁定。此租戶CPU資源限制min_cpu為0,在后臺資源調度時,將不保證此租戶下使用CPU的最小限額。限制此租戶使用CPU的最大額度為1 CPU。min_cpu=0的租戶稱之為共享租戶。

  • 創建租戶tenant_2時,將此租戶與資源配置r5綁定,此租戶CPU資源限制min_cpu為1,在后臺資源調度時,將保證此租戶下使用CPU的最小限額為1 CPU,min_cpu >0的租戶為獨享租戶。

租戶創建完成后,您可以通過查詢mysql.tenants表來查看當前的所有租戶。

SELECT * FROM mysql.tenants;

在調度CPU資源時,通過調度分配給租戶的線程組進行實現,您可以通過查詢information_schema.thread_pool_status表來查看租戶使用的線程組情況。

SELECT * FROM information_schema.thread_pool_status;

執行結果如下:

image

從上圖可以看出,ID為2的線程組被分配給tenant_2tenant_2為獨享租戶,將會獨占ID為2的線程組。而tenant_1為共享租戶,故不會獨占任何一個線程組。

步驟三:創建用戶和數據庫

租戶創建成功后,分別在兩個租戶下創建用戶和數據庫。

在租戶tenant_1下創建用戶user_1,并授予user_1tenant_1租戶下的所有執行權限。此處可以將user_1@tenant_1當做租戶tenant_1下的一個高權限賬號。

#在系統租戶下創建'user_1@tenant_1'
CREATE user 'user_1@tenant_1' IDENTIFIED WITH mysql_native_password BY {pwssword};

#在高權限賬戶下,為user1@tenant_1授予租戶tenant_1下的所有執行權限
#(需注意不要超出當前租戶權限,不要授予其他租戶的權限)
GRANT all privileges ON `%@tenant_1`.* to 'user_1@tenant_1'@'%' with grant option;

#在高權限賬戶下,為user1@tenant_1授予CREATE USER權限
GRANT CREATE user ON *.* to 'user_1@tenant_1'@'%';

用戶創建成功后,通過該用戶連接數據庫的SQL語句如下:

mysql --host=xxxxxx -u user1@tenant_1 -p pwssword

使用該賬號登錄數據庫成功后,您僅可查看當前租戶下的數據庫。對于系統租戶下的數據庫以及其他租戶下的數據庫該賬號均不可見。

繼續在當前連接中創建用戶user_2以及數據庫sbtest。

# 創建user_2
CREATE user 'user_2' IDENTIFIED WITH mysql_native_password BY {pwssword};

# 授予user_2權限
GRANT CREATE,INSERT,SELECT,UPDATE,DELETE,DROP,index ON *.* to user_2;

# 創建sbtest
CREATE database sbtest;

在租戶tenant_1下創建用戶以及數據庫后,您可以通過相同的方式在tenant_2下創建用戶和數據庫。

步驟四:進行資源隔離測試

Sysbench數據準備

sysbench oltp_read_only  --threads=512 --mysql-host=xxxx  --mysql-user=user_2@tenant_1 --mysql-password={password} --mysql-db=sbtest --tables=10 --table-size=50000   --report-interval=1 --time=7200  prepare

執行Sysbench測試

sysbench oltp_read_only  --threads=512 --mysql-host=xxxx  --mysql-user=user_2@tenant_1 --mysql-password={password} --mysql-db=sbtest --tables=10 --table-size=50000   --report-interval=1 --time=7200  run

在執行Sysbench測試期間,您需要使用高權限賬號user_1按照資源配置順序切換tenant_1所對應的資源配置信息。調整資源配置信息的ALTER語法如下:

ALTER tenant tenant_1 resource_config r7;

資源配置切換測試一

該測試將使用租戶tenant_1下的user_2來進行Sysbench測試,通過切換tenant_1綁定的資源配置信息來觀察集群使用的CPU資源變化情況。此時tenant_2的資源配置信息為r5tenant_1綁定的資源配置信息切換順序為r1->r4->r5->r6->r7->r3->r2->r1。

測試結果

  • 讀寫(RW)節點的測試數據如下:

    • CPU/內存利用率

      image

    • TPS/QPS

      image

  • 只讀(RO)節點的測試數據如下:

    • CPU/內存利用率

      image

    • TPS/QPS

      image

在該測試中,因為tenant_2的資源配置信息為r5,在對tenant_1執行測試時,所能達到的最高CPU為7,CPU占比約為CPU總量的87%。根據tenant_1所綁定資源配置的變化,讀寫節點和只讀節點的CPU使用率與QPS均發生相應的變化。

資源配置切換測試二

該測試將tenant_2resource_config修改為r7,后續的測試過程中不再修改tenant_2的資源信息。僅調整tenant_1綁定的資源配置信息,資源配置信息的切換順序為r1->r4->r5->r6->r3->r2->r1。

測試結果

  • 讀寫(RW)節點的測試數據如下:

    • CPU/內存利用率

      image

    • TPS/QPS

      image

  • 只讀(RO)節點的測試數據如下:

    • CPU/內存利用率

      image

    • TPS/QPS

      image

在該測試中,由于租戶tenant_2resource_config配置為r7,在對租戶tenant_1執行測試時,所能達到的最高CPU為4,CPU占比約為CPU總量的50%。根據tenant_1綁定的資源配置信息變化,讀寫節點和只讀節點的CPU使用率與QPS均發生相應的變化。