更新时间:2022-08-16 GMT+08:00

参数管理

操作场景

为了确保DDM服务发挥出最优性能,您可以根据自己的业务情况对DDM实例的运行参数进行配置。

前提条件

已有DDM实例,且实例状态处于“运行中”。

操作步骤

  1. 输入账户名和密码登录分布式数据库中间件服务控制台。
  2. 单击左侧菜单栏的“实例管理”,进入实例管理页面。
  3. 在实例管理页面单击实例名称,进入实例信息详情页。
  4. 在该页面单击“参数管理”。您可以根据需要修改对应参数。

    图1 参数管理页面
    表1 DDM实例配置参数说明

    参数名称

    缺省值

    取值范围

    参数说明

    bind_table

    -

    格式要求:[{tb.col1,tb2.col2},{tb.col2,tb3.col1},...]该参数要以“表名.列名”的形式出现且可以多对同时出现。

    版本要求:

    DDM 2.3.2.7版本及以上。

    用于描述多个拆分表的内在数据关联性,用于告知优化器在处理join时,把join下推到MySQL层执行。参数举例请详见表下的说明。

    max_connections

    20000

    10~40000

    允许同时连接的客户端总数。

    此参数需要结合RDS for MySQL实例的规格及处理能力配置合适的值。连接数过多,可能造成连接等待,影响性能。DDM的连接数消耗与分片数量和SQL设计等因素相关。

    例如:SQL带拆分键时,1个DDM连接同时消耗后面1个RDS for MySQL实例连接;SQL不带拆分键时,假设分片个数为N,那么会消耗N个RDS连接。

    因此,SQL合理设计且DDM和RDS的处理能力不成为瓶颈的前提,DDM最大连接数可以配置成略小于“后端RDS的数量 * 单个RDS for MySQL实例支持的最大连接数”。

    建议根据自己的业务进行实际压测,配置合理的值。

    connection_idle_timeout

    28800

    60~86400 (s)

    服务器关闭连接之前等待连接活动的秒数。

    long_query_time

    1

    0.1~3600 (s)

    记录慢查询的最小秒数。

    sql_execute_timeout

    28800

    100~28800(s)

    SQL执行超时秒数。

    connection_failed_threshold

    50

    1~10000

    客户端连接失败达到多少次后账号和IP地址被锁定。

    connection_failed_delay

    1200

    1~86400 (s)

    账号和IP地址被锁定后延迟多少秒解锁。

    max_allowed_packet

    16777216

    1024~1073741824

    包或任何生成的中间字符串的最大值。包缓冲区初始化为net_buffer_length字节,但需要时可以增长到max_allowed_packet字节。该值默认很小,以捕获大的(可能是错误的)数据包,该值必须设置为1024的倍数。

    character_set_server

    utf8

    gbk、utf8、utf8mb4

    DDM服务端字符集,如果需要存储emoji表情符号,请选择utf8mb4并设置RDS for MySQL实例字符集也为utf8mb4。

    说明:

    DDM字符集与RDS for MySQL字符集(包括character_set_client、character_set_connection、character_set_database、character_set_results、character_set_server)需要保持一致。

    collation_server

    将根据您设置的character_set_server项进行匹配。

    将根据您设置的character_set_server项进行匹配。

    DDM服务端字符序。

    根据您所设置的character_set_server联动匹配collation_server选项:

    • gbk -->gbk_chinese_ci、gbk_bin;
    • utf8 -->utf8_unicode_ci、utf8_bin;
    • utf8mb4 --> utf8mb4_unicode_ci、utf8mb4_bin。

    sql_audit

    OFF

    OFF、ON

    开启或关闭SQL审计。

    ddm_instance_type

    -

    SINGLE,MASTER,SLAV

    SINGLE:设置DDM实例为单实例。

    SLAVE:设置DDM实例在灾备中作为备实例。

    MASTER:设置DDM实例在灾备中作为主实例。

    transaction_policy

    XA

    XA、FREE、NO_DTX

    XA:XA 事务,保证原子性,保证可见性;

    FREE:允许多写,不保证原子性,无性能损耗;

    NO_DTX:单分片事务。

    DDM默认支持修改以上实例参数,特殊场景(如数据迁移)下如需修改更多实例参数请联系技术支持人员协助处理。

    参数举例:
    图2 未使用bind_table结果展示
    图3 使用bind_table结果展示

  5. 确认无误后,单击“保存”,并在弹框中单击“是”完成参数修改。

    图4 参数确认页面
    • 修改配置参数可能影响应用访问DDM实例,请谨慎操作。
    • 修改参数命令下发成功后,预计需要20~60秒生效,请耐心等待。