开发者社区 问答 正文

用户指南-读写分离-系统权重分配规则



权重值列表


系统自动设置实例的读权重时,权重值是固定的,如下表所示:

[tr=rgb(51, 205, 229)][td]规格代码 规格类型内存CPU权重rds.mys2.small通用240MB3100rds.mys2.mid通用600MB5100rds.mys2.standard通用1200MB6400rds.mys2.large通用2400MB9400rds.mys2.xlarge通用6000MB10800rds.mys2.2xlarge通用12000MB10800rds.mys2.4xlarge通用24000MB121000rds.mys2.8xlarge通用48000MB131000rds.mysql.t1.small通用1GB1100rds.mysql.s1.small通用2GB1100rds.mysql.s2.large通用4GB2200rds.mysql.s2.xlarge通用8GB2200rds.mysql.s3.large通用8GB4400rds.mysql.m1.medium通用16GB4400rds.mysql.c1.large通用16GB8800rds.mysql.c1.xlarge通用32GB8800rds.mysql.c2.xlarge通用64GB161600rds.mysql.c2.xlp2通用96GB161600rds.mysql.c2.2xlarge通用128GB161600mysql.x8.medium.2独享套餐16GB2200mysql.x8.large.2独享套餐32GB4400mysql.x8.xlarge.2独享套餐64GB8800mysql.x8.2xlarge.2独享套餐128GB161600rds.mysql.st.d13独占物理机220GB303000rds.mysql.st.h13独占物理机470GB606000

通过Hint指定SQL发往主实例或只读实例


在读写分离权重分配体系之外,Hint可作为一种SQL补充语法来指定相关SQL到主实例或只读实例执行。
RDS读写分离支持的Hint格式如下所示:
  • /*FORCE_MASTER*/:指定后续SQL到主实例执行。
  • /*FORCE_SLAVE*/:指定后续SQL到只读实例执行。

例如,在如下语句前加入Hint后,不论权重如何设置,该语句一定会路由到主实例上执行。 /*FORCE_MASTER*/ SELECT * FROM table_name;

展开
收起
梨好橙 2018-09-04 00:26:28 1701 分享 版权
阿里云 AI 助理回答

在阿里云RDS SQL Server中,只读实例的读权重分配策略支持系统自动分配和用户自定义两种模式。以下是部分规格类型的默认读权重值列表:

独享规格

  • mssql.x4.medium.ro: 2 CPU, 8 GB 内存,默认权重 800
  • mssql.x4.large.ro: 4 CPU, 16 GB 内存,默认权重 1600
  • mssql.x4.xlarge.ro: 8 CPU, 32 GB 内存,默认权重 3200
  • mssql.x4.2xlarge.ro: 16 CPU, 64 GB 内存,默认权重 6400
  • mssql.x4.4xlarge.ro: 32 CPU, 128 GB 内存,默认权重 9900
  • mssql.x4.8xlarge.ro: 64 CPU, 256 GB 内存,默认权重 9900
  • mssql.x8.medium.ro: 2 CPU, 16 GB 内存,默认权重 1600
  • mssql.x8.large.ro: 4 CPU, 32 GB 内存,默认权重 3200
  • mssql.x8.xlarge.ro: 8 CPU, 64 GB 内存,默认权重 6400
  • mssql.x8.2xlarge.ro: 16 CPU, 128 GB 内存,默认权重 9900
  • mssql.x8.4xlarge.ro: 32 CPU, 256 GB 内存,默认权重 9900
  • mssql.x10.5xlarge.ro: 40 CPU, 384 GB 内存,默认权重 9900
  • mssql.x8.8xlarge.ro: 64 CPU, 512 GB 内存,默认权重 9900

通用规格

  • rds.mssql.s3.large: 4 CPU, 8 GB 内存,默认权重 800
  • rds.mssql.c1.large: 8 CPU, 16 GB 内存,默认权重 1600
  • rds.mssql.m1.medium: 4 CPU, 16 GB 内存,默认权重 1600
  • rds.mssql.c1.xlarge: 8 CPU, 32 GB 内存,默认权重 3200
  • rds.mssql.c2.xlarge: 16 CPU, 64 GB 内存,默认权重 6400
  • rds.mssql.c4.xlarge: 32 CPU, 128 GB 内存,默认权重 9900
  • rds.mssql.c4.2xlarge: 32 CPU, 256 GB 内存,默认权重 9900

此外,通过使用Hint语法,您可以直接控制SQL语句的执行位置: - /*FORCE_MASTER*/:确保跟随其后的SQL语句在主实例上执行。 - /*FORCE_SLAVE*/:确保跟随其后的SQL语句在只读实例上执行。

例如,要强制某条查询语句在主实例上执行,可以这样写:

/*FORCE_MASTER*/ SELECT * FROM table_name;

这将无视当前的权重分配设置,确保该查询直接路由到主实例执行。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答