---
title: 数据库应用参数
description: "参数顺序根据测试用例及参数敏感性排序。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0197.html
sourcePath: /source/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0197.html
indexId: d28e76327cc01cc780f7df43180d890c2114b8ccba78e0fa31b5916ded85dd2c66
---
# 数据库应用参数

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

#### 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） | 参考最劣值（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} | oltp\_read\_write | 13.1% | O\_DIRECT\_NO\_FSYNC | （+8.9%） | 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] | oltp\_write\_only | 10.1% | 18 | （+17.2%） | 58 |
| performance\_schema | MySQL内置的实时性能监控系统 | {ON, OFF} | oltp\_read\_only | 64.7% | OFF | （+8.9%） | ON |
| innodb\_adaptive\_hash\_index | InnoDB自适应哈希索引 | {ON, OFF} | oltp\_read\_only | 15.7% | ON | （+8.9%） | 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 | 10.8% | 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） | 参考最优值（vs. Baseline） |
| set\-max\-intset\-entries | set对象的整数集合编码（intset）存储的最大元素个数阈值 | [32, 4096] | MSET写入场景 | 25.5% | 3787 | （+27.9%） |
| maxmemory | Redis实例可使用的最大内存 | [1, 1048576] | MSET写入场景 | 23.3% | 214068 | （+27.9%） |
| hash\-max\-ziplist\-value | Hash类型中，单个字段值能使用压缩列表存储的最大字节数 | [32, 4096] | MSET写入场景 | 13.7% | 1791 | （+27.9%） |
| maxclients | Redis允许的最大客户端连接数 | [1, 65536] | MSET写入场景 | 13.3% | 18907 | （+27.9%） |
| zset\-max\-ziplist\-entries | 有序集合使用压缩列表存储的最大元素数 | [32, 4096] | MSET写入场景 | 11.1% | 3691 | （+27.9%） |
| hash\-max\-ziplist\-entries | Hash类型使用压缩列表存储的最大字段数 | [32, 4096] | MSET写入场景 | 10.3% | 159 | （+27.9%） |


- 系统参数
  建议将系统参数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） | 参考最劣值（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 | （+65.3%） | 10 | （\-68.8%） |
| block\_size | SST文件中数据块大小 | [2, 262144] | 10.5% | 10 | （+65.3%） | 121480 | （\-68.8%） |
| target\_file\_size\_base | Level 1 SST文件大小 | [2, 268435456] | 9.1% | 129960935 | （+65.3%） | 83333272 | （\-68.8%） |


- 系统参数
  建议适当增大系统参数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 |
