鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

数据库应用参数

参数顺序根据测试用例及参数敏感性排序。

MySQL

MySQL数据库应用的整体性能对存储子系统的I/O特性高度敏感。在实际测试中,基于SSD/NVMe存储介质的部署环境相较于传统HDD,在事务处理能力、延迟控制以及并发请求吞吐方面均表现出显著优势。两类介质在性能表现上存在较大差距,主要源于SSD/NVMe在随机读写性能和IOPS方面的天然优势。

因此建议在生产环境中优先选择SSD或NVMe作为数据库的存储介质,以充分发挥MySQL的性能潜力,并获得更稳定的延迟表现。对于仍使用HDD的场景,应结合业务负载特征进行容量与性能权衡,同时关注I/O瓶颈对整体应用性能的潜在影响。

  • 业务参数

    MySQL的性能调优应结合具体应用场景的读写特性开展,在参考表1所列推荐参数及调优分析的基础上,可根据业务负载特点适当调整参数值,以优化系统整体性能和资源利用效率。

    表1 MySQL业务参数

    推荐参数

    调优分析

    参数名称

    参数含义

    调整范围

    Testing Case

    重要性比率(%)

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    sync_binlog

    事务提交时binlog的刷盘频率

    {0, 1}

    oltp_read_write

    59.7%

    1

    (+8.9%)

    0

    innodb_flush_method

    InnoDB数据、日志的写入方式

    {fsync, O_DSYNC, O_DIRECT,O_DIRECT_NO_FSYNC}

    13.1%

    O_DIRECT_NO_FSYNC

    O_DIRECT

    binlog_cache_size

    单个事务写入binlog的内存缓存大小

    [1, 256]

    oltp_write_only

    32.4%

    254

    (+17.2%)

    115

    innodb_write_io_threads

    InnoDB写操作的I/O后台线程数量

    [1, 64]

    10.1%

    18

    58

    performance_schema

    MySQL内置的实时性能监控系统

    {ON, OFF}

    oltp_read_only

    64.7%

    OFF

    (+8.9%)

    ON

    innodb_adaptive_hash_index

    InnoDB自适应哈希索引

    {ON, OFF}

    15.7%

    ON

    OFF

    “重要性比率”来源于KAT工具内置的参数重要性分析功能。该功能基于KAT调优的历史数据,针对指定测试用例定量评估各参数对性能指标的影响程度,以百分比形式呈现,通过参考该比率,可以识别性能敏感参数,并进行进一步的优化分析与调优决策,从而实现更精确的性能优化指导。

  • 系统参数
    表2 MySQL系统参数

    推荐参数

    调优分析

    参数名称

    调整范围

    Testing Case

    重要性比率(%)

    测试环境默认值

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    scheduler

    {mq-deadline, kyber, bfq, none}

    oltp_read_write

    57.6%

    mq-deadline

    none(+3.1%)

    bfq(-89.6%)

    max_sectors_kb

    [68, 128]

    oltp_write_only

    10.8%

    512

    86(+1.0%)

    -

    kernel.sched_cluster

    {0, 1}

    oltp_read_only

    %

    0

    1(+0.5%)

    -

openGauss

  • 业务参数

    建议在openGauss启动配置中将enable_codegen设置为off,并配合较低的random_page_cost参数优化应用性能。

    表3 openGauss业务参数

    推荐参数

    调优分析

    参数名称

    参数含义

    调整范围

    重要性比率(%)

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    enable_codegen

    SQL代码执行优化

    {on, off}

    28.7%

    off(+2.3%)

    on(-24.3%)

    random_page_cost

    设置优化器计算一次非顺序抓取磁盘页的开销

    [0.0, 100.0]

    22.7%

    2.0(+2.3%)

    96.0(-24.3%)

  • 系统参数
    表4 openGauss系统参数

    推荐参数

    调优分析

    参数名称

    调整范围

    重要性比率(%)

    测试环境默认值

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    scheduler

    {mq-deadline, kyber, bfq, none}

    34.0%

    mq-deadline

    bfq (+21.2%)

    none (-4.8%)

Redis

  • 业务参数

    针对业务参数,各场景下的敏感参数基本一致,但其参数值对性能的影响存在差异。表5仅提供MSET场景的参数调优参考。在实际生产环境中,应结合具体应用负载和业务特性,进行相应的参数调整,以实现最佳性能优化。

    表5 Redis业务参数

    推荐参数

    调优分析

    参数名称

    参数含义

    调整范围

    Testing Case

    重要性比率(%)

    参考最优值(vs. Baseline)

    set-max-intset-entries

    set对象的整数集合编码(intset)存储的最大元素个数阈值

    [32, 4096]

    MSET写入场景

    25.5%

    3787

    (+27.9%)

    maxmemory

    Redis实例可使用的最大内存

    [1, 1048576]

    23.3%

    214068

    hash-max-ziplist-value

    Hash类型中,单个字段值能使用压缩列表存储的最大字节数

    [32, 4096]

    13.7%

    1791

    maxclients

    Redis允许的最大客户端连接数

    [1, 65536]

    13.3%

    18907

    zset-max-ziplist-entries

    有序集合使用压缩列表存储的最大元素数

    [32, 4096]

    11.1%

    3691

    hash-max-ziplist-entries

    Hash类型使用压缩列表存储的最大字段数

    [32, 4096]

    10.3%

    159

  • 系统参数

    建议将系统参数transparent_hugepage_mode设置为never,并将kernel.sched_cluster设置为1,以优化Redis的内存管理和调度行为。

    表6 Redis系统参数

    推荐参数

    调优分析

    参数名称

    调整范围

    重要性比率(%)

    测试环境默认值

    参考最优值(vs. Baseline)

    transparent_hugepage_mode

    {madvise, never, always}

    75.0%

    never

    always (+6.8%)

    kernel.sched_cluster

    {0, 1}

    21.2%

    0

    1 (+1.2%)

RocksDB

  • 业务参数

    建议在RocksDB启动时将write_buffer_size和batch_size设置为相对较大的值,以提升写入吞吐能力。

    表7 RocksDB业务参数

    推荐参数

    调优分析

    参数名称

    参数含义

    调整范围

    重要性比率(%)

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    write_buffer_size

    单个MemTable的最大大小

    [2, 268435456]

    39.4%

    185884824

    (+65.3%)

    3764887

    (-68.8%)

    batch_size

    一次批量写入操作包含的键值对数量

    [1, 256]

    23.3%

    200

    10

    block_size

    SST文件中数据块大小

    [2, 262144]

    10.5%

    10

    121480

    target_file_size_base

    Level 1 SST文件大小

    [2, 268435456]

    9.1%

    129960935

    83333272

  • 系统参数

    建议适当增大系统参数vm.dirty_background_ratio和vm.max_map_count的值,同时设置较高的vm.vfs_cache_pressure,以优化RocksDB的内存管理和缓存策略,从而提升整体性能表现。

    表8 RocksDB系统参数

    推荐参数

    调优分析

    参数名称

    调整范围

    Testing Case

    重要性比率(%)

    测试环境默认值

    参考最优值(vs. Baseline)

    参考最劣值(vs. Baseline)

    vm.dirty_background_ratio

    [0, 100]

    fillseq、fillrandom

    35.3%

    10

    25(+1.9%)

    0 (-17.2%)

    vm.max_map_count

    [65530, 10000000]

    readrandomwriterandom

    9.7%

    65530

    6876145(+2.2%)

    -

    vm.vfs_cache_pressure

    [0, 500]

    multireadrandom

    6.9%

    100

    445(+1.0%)

    9 (-5.5%)

Vastbase G100

表9 Vastbase G100业务参数

推荐参数

调优分析

参数名称

参数含义

调整范围

重要性比率(%)

参考最优值

autovacuum_naptime

自动清理(autovacuum)进程的休眠时间

[1, 1200]

24.9%

5

shared_buffers

缓存数据块的共享内存大小

[1, 10]

22.6%

2