Updated on 2022-12-08 GMT+08:00

Parameter Management

Scenarios

Configure parameters of a DDM instance based on your needs to keep the instance running well.

Prerequisites

There is a DDM instance available and running properly.

Procedure

  1. Log in to the DDM console.
  2. In the navigation pane, choose Instances.
  3. In the instance list, locate the DDM instance whose parameters you want to configure and click its name.
  4. In the left pane, click Parameters and modify parameter values as needed.

    Figure 1 Parameter management page
    Table 1 Parameters of a DDM instance

    Parameter

    Default Value

    Value Range

    Description

    bind_table

    -

    The value should be in format [{tb.col1,tb2.col2},{tb.col2,tb3.col1},...]. tb.col1,tb2.col2 indicates a table name.column name pair, and the value may contain multiple pairs.

    The version should be:

    DDM 2.3.2.7 or later

    Data association among multiple sharded tables. The optimizer processes JOIN operations at the MySQL layer based on these associations. For details about parameter examples, see the description below the table.

    max_connections

    20000

    10–40000

    Maximum number of concurrent client connections allowed per DDM instance.

    This value depends on specifications and processing capabilities of the target RDS MySQL DB instance. Too many connections may cause connection waiting, affecting performance. The consumption of DDM connections is related to the number of shards and SQL design.

    For example, If a SQL statement contains a sharding key, each DDM connection consumes one RDS MySQL instance connection. If the SQL statement contains no sharding key and the number of shards is N, N RDS MySQL connections are consumed.

    If SQL design is appropriate and DDM and RDS processing capabilities are good enough, you can set this parameter to a value slightly smaller than "backend RDS MySQL DB instances" x "maximum connections supported by each RDS MySQL DB instance".

    Carry out pressure tests on your services and then select a proper value.

    connection_idle_timeout

    28800

    60–86400 (s)

    Number of seconds the server waits for activity on a connection before closing it.

    long_query_time

    1

    0.1–3600 (s)

    Minimum duration of a query to be logged as slow.

    sql_execute_timeout

    28800

    100–28800 (s)

    Number of seconds to wait for a SQL statement to execute before timing out.

    connection_failed_threshold

    50

    1–10000

    Number of consecutive failed connection attempts allowed before your account and IP address are locked.

    connection_failed_delay

    1200

    1–86400

    Number of seconds before a locked account and IP address are unlocked.

    max_allowed_packet

    16777216

    1024–1073741824

    Maximum size of one packet or any generated intermediate string. The packet message buffer is initialized to net_buffer_length bytes, but can grow up to max_allowed_packet bytes when needed. The value is small by default. You need to set a larger value to catch large (and possibly incorrect) packets. The value must be a multiple of 1024.

    character_set_server

    utf8

    gbk, utf8, utf8mb4

    Character set configured on the DDM instance. To store emoticons, set both this parameter and the character set on the RDS MySQL DB instance to utf8mb4.

    NOTE:

    The character sets of the DDM instance and RDS MySQL DB instance must be consistent, including values of parameters character_set_client, character_set_connection, character_set_database, character_set_results, and character_set_server.

    collation_server

    The parameter value range is based on the character_set_server value.

    The parameter value range is based on the character_set_server value.

    Collation on the DDM server.

    You need to configure this parameter after configuring character_set_server as follows:

    • If character_set_server is set to gbk, collation_server can be set to gbk_chinese_ci or gbk_bin.
    • If character_set_server is set to utf8, collation_server can be set to utf8_unicode_ci or utf8_bin.
    • If character_set_server is set to utf8mb4, collation_server can be set to utf8mb4_unicode_ci or utf8mb4_bin.

    sql_audit

    OFF

    OFF or ON

    Whether to enable or disable SQL audit.

    ddm_instance_type

    -

    SINGLE,MASTER,SLAV

    SINGLE: indicates that the DDM instance is a single instance.

    SLAVE: indicates that the DDM instance is the standby instance for across-region DR.

    MASTER: indicates that the DDM instance is the primary instance for across-region DR.

    transaction_policy

    XA

    XA, FREE, NO_DTX

    XA: XA transaction that attempts to ensure atomicity and visibility.

    FREE: Best-effort commit transaction that allows data to be written to multiple shards, without impacting performance. This setting does not ensure atomicity.

    NO_DTX: With this setting, single-shard transactions are performed.

    By default, DDM only allows you to modify the preceding instance parameters. If you need to modify other parameters for some special scenarios, such as data migration, contact customer service.

    Parameter configuration examples:
    Figure 2 Result if bind_table is not used
    Figure 3 Result if bind_table is used

  5. Click Save in the upper left corner and then Yes in the displayed dialog box.

    Figure 4 Confirming the parameter modification
    • Modifying DDM parameters may affect access to the instance. Exercise caution when performing this operation.
    • It takes 20s to 60s to have the modifications to take effect.