《计算机应用》唯一官方网站 ›› 2026, Vol. 46 ›› Issue (7): 2139-2151.DOI: 10.11772/j.issn.1001-9081.2025070884
收稿日期:2025-08-04
修回日期:2025-10-03
接受日期:2025-10-09
发布日期:2025-11-05
出版日期:2026-07-10
通讯作者:
高锦涛
作者简介:胡志远(2001—),男,山东日照人,硕士,主要研究方向:智能数据库、因果发现基金资助:
Jintao GAO(
), Zhiyuan HU, Lulu JIANG
Received:2025-08-04
Revised:2025-10-03
Accepted:2025-10-09
Online:2025-11-05
Published:2026-07-10
Contact:
Jintao GAO
About author:HU Zhiyuan, born in 2001, M. S. His research interests include AI for database, causal discovery.Supported by:摘要:
数据库管理系统(DBMS)的参数配置与优化与系统整体性能直接相关,但DBMS的默认参数设置难以达到最优性能。评估基于经验的人工调优结果表明,因无法持续捕捉系统状态与数据分布,这种调优常产生次优结果。作为主流方案的贝叶斯优化(BO)在复杂目标函数下易陷入局部最优,限制了对全局最优配置的发现能力。因此,提出一种基于蒙特卡洛树搜索(MCTS)的DBMS参数调优方法MTune。在MTune框架中,策略树主要用于对多维旋钮参数空间进行区域拆分,策略树的每一个节点均对应一个独立的参数子空间。该方案首先向贝叶斯优化(BO)模块输入旋钮配置参数,同步接收对应的性能评价指标,以此完成蒙特卡洛树搜索(MCTS)目标函数的构建。在目标函数确立后,算法采用置信区间上界(UCB)准则,完成对所有树节点的打分评估;同时依托k-means聚类算法对根初始节点开展迭代划分,实现策略树的自主生长。整个迭代过程能够持续收缩参数搜索空间,并且依托空间分区机制,动态平衡算法的探索能力与利用能力。最终通过逐层细化参数搜索区域,有效规避算法陷入局部最优解的问题,进一步提升模型搜寻全局最优解的能力。在YCSB-A与YCSB-B工作负载下的实验结果表明, MTune优于对比的先进基线。在PostgreSQL v9.6上,MTune (最佳HeSBO(Hashing-enhanced Subspace Bayesian Optimization))相较于基线的事务延迟率降低97.13%~97.91%,吞吐量提高24.83%~48.56%,系统开销降低1.62%~16.26%;在PostgreSQL v13.6上,MTune的延迟降低约为95%,吞吐量提高10%~25%,系统开销相较于DDPG(Deep Deterministic Policy Gradient)基本持平或小幅更优,相较于SMAC(Sequential Model-based Algorithm Configuration)在HeSBO-16下最佳。本文方法能够识别高质量区域,并产出近似最优的旋钮配置,在实际应用场景中表现有效且稳定。
中图分类号:
高锦涛, 胡志远, 姜璐璐. 基于蒙特卡洛树搜索的参数调优方法[J]. 计算机应用, 2026, 46(7): 2139-2151.
Jintao GAO, Zhiyuan HU, Lulu JIANG. Parameter tuning method based on Monte Carlo tree search[J]. Journal of Computer Applications, 2026, 46(7): 2139-2151.
| 类别 | 旋钮 | 旋钮描述 | 示例 |
|---|---|---|---|
| Server setting parameters | Max_connections | 设置最大并发连接数 | default:100 value:1 767 |
| Deadlock_timeout | 设置在检查死锁之前等待锁定的时间 | default:1 000 value:1 474 | |
| Memory and performance parameters | Shared_buffers | 设置服务器使用的共享内存缓冲区数量 | default:1 024 value:988 856 |
| Work_mem | 设置查询工作区使用的最大内存容量 | default:4 096 value:240 263 | |
| Query optimization parameters | Random_page_cost | 设置计划器对非连续获取磁盘页面成本的估计值 | default:4.0 value:6.055 9 |
| Seq_page_cost | 设置计划编制器对按顺序提取磁盘页面成本的估计值 | default:1.0 value:1.615 0 |
表1 PostgreSQL中的参数调优示例
Tab. 1 Examples of parameter tuning in PostgreSQL
| 类别 | 旋钮 | 旋钮描述 | 示例 |
|---|---|---|---|
| Server setting parameters | Max_connections | 设置最大并发连接数 | default:100 value:1 767 |
| Deadlock_timeout | 设置在检查死锁之前等待锁定的时间 | default:1 000 value:1 474 | |
| Memory and performance parameters | Shared_buffers | 设置服务器使用的共享内存缓冲区数量 | default:1 024 value:988 856 |
| Work_mem | 设置查询工作区使用的最大内存容量 | default:4 096 value:240 263 | |
| Query optimization parameters | Random_page_cost | 设置计划器对非连续获取磁盘页面成本的估计值 | default:4.0 value:6.055 9 |
| Seq_page_cost | 设置计划编制器对按顺序提取磁盘页面成本的估计值 | default:1.0 value:1.615 0 |
| 符号 | 说明 | 符号 | 说明 |
|---|---|---|---|
| MCTS | 蒙特卡洛树搜索 | Θi | 参数 |
| BO | 贝叶斯优化 | LHS | 拉丁超立方采样 |
| UCB | 置信区间上界 | SVM | 支持向量机 |
表2 符号说明
Tab. 2 Explanation of symbols
| 符号 | 说明 | 符号 | 说明 |
|---|---|---|---|
| MCTS | 蒙特卡洛树搜索 | Θi | 参数 |
| BO | 贝叶斯优化 | LHS | 拉丁超立方采样 |
| UCB | 置信区间上界 | SVM | 支持向量机 |
| 指标 | 方法 | YCSB-A | YCSB-B | ||||
|---|---|---|---|---|---|---|---|
| DDPG | SMAC | MTune | DDPG | SMAC | MTune | ||
| 延迟率 | HeSBO-8 | 1.308 426 | 3.846 227 | 0.140 693 | 6.444 842 | 6.610 277 | 0.137 257 |
| HeSBO-16 | 0.197 317 | 0.740 762 | 0.115 921 | 0.204 861 | 0.178 901 | 0.147 307 | |
| HeSBO-24 | 5.463 713 | 5.463 713 | 0.177 297 | 13.664 730 | 2.138 713 | 0.128 634 | |
| 吞吐量 | HeSBO-8 | 47 626.16 | 69 211.06 | 68 485.75 | 70 844.92 | 63 808.64 | 73 138.44 |
| HeSBO-16 | 62 130.96 | 49 175.10 | 71 879.62 | 62 327.85 | 65 151.40 | 67 083.75 | |
| HeSBO-24 | 51 316.63 | 68 176.46 | 57 219.22 | 42 816.90 | 70 757.48 | 78 254.81 | |
| 系统开销 | HeSBO-8 | 61.926 73 | 62.560 89 | 62.584 86 | 62.454 50 | 73.663 17 | 64.820 10 |
| HeSBO-16 | 62.064 48 | 64.808 57 | 61.362 43 | 61.885 66 | 83.879 25 | 61.055 56 | |
| HeSBO-24 | 63.943 36 | 62.516 86 | 65.089 82 | 63.494 96 | 62.291 31 | 60.299 70 | |
表3 在PostgreSQL v13.6上使用HeSBO降维时DDPG、SMAC与MTune吞吐量、延迟率与系统开销的对比
Tab. 3 Comparison of DDPG, SMAC and MTune in throughput, latency rate and system overhead using HeSBO dimensionality reduction on PostgreSQL v13.6
| 指标 | 方法 | YCSB-A | YCSB-B | ||||
|---|---|---|---|---|---|---|---|
| DDPG | SMAC | MTune | DDPG | SMAC | MTune | ||
| 延迟率 | HeSBO-8 | 1.308 426 | 3.846 227 | 0.140 693 | 6.444 842 | 6.610 277 | 0.137 257 |
| HeSBO-16 | 0.197 317 | 0.740 762 | 0.115 921 | 0.204 861 | 0.178 901 | 0.147 307 | |
| HeSBO-24 | 5.463 713 | 5.463 713 | 0.177 297 | 13.664 730 | 2.138 713 | 0.128 634 | |
| 吞吐量 | HeSBO-8 | 47 626.16 | 69 211.06 | 68 485.75 | 70 844.92 | 63 808.64 | 73 138.44 |
| HeSBO-16 | 62 130.96 | 49 175.10 | 71 879.62 | 62 327.85 | 65 151.40 | 67 083.75 | |
| HeSBO-24 | 51 316.63 | 68 176.46 | 57 219.22 | 42 816.90 | 70 757.48 | 78 254.81 | |
| 系统开销 | HeSBO-8 | 61.926 73 | 62.560 89 | 62.584 86 | 62.454 50 | 73.663 17 | 64.820 10 |
| HeSBO-16 | 62.064 48 | 64.808 57 | 61.362 43 | 61.885 66 | 83.879 25 | 61.055 56 | |
| HeSBO-24 | 63.943 36 | 62.516 86 | 65.089 82 | 63.494 96 | 62.291 31 | 60.299 70 | |
| 指标 | 方法 | YCSB-A | YCSB-B | ||||
|---|---|---|---|---|---|---|---|
| DDPG | SMAC | MTune | DDPG | SMAC | MTune | ||
| 延迟率 | HeSBO-8 | 0.141 871 | 0.148 446 | 0.136 960 | 0.142 891 | 0.149 792 | 0.137 307 |
| HeSBO-16 | 0.146 970 | 0.140 851 | 0.136 663 | 0.150 950 | 0.140 762 | 0.137 277 | |
| HeSBO-24 | 0.150 277 | 0.137 653 | 0.137 634 | 0.148 059 | 0.138 287 | 0.136 594 | |
| 吞吐量 | HeSBO-8 | 70 527.17 | 67 555.70 | 73 129.01 | 69 985.88 | 66 893.14 | 72 836.29 |
| HeSBO-16 | 65 655.64 | 71 183.57 | 73 289.79 | 66 280.42 | 71 241.95 | 72 736.71 | |
| HeSBO-24 | 66 612.45 | 72 770.46 | 72 658.08 | 67 625.01 | 72 413.22 | 73 146.50 | |
| 系统开销 | HeSBO-8 | 66.170 64 | 61.081 05 | 61.738 81 | 67.447 52 | 61.277 16 | 60.149 42 |
| HeSBO-16 | 67.527 00 | 60.787 09 | 62.227 36 | 60.315 57 | 60.695 90 | 62.134 58 | |
| HeSBO-24 | 60.314 45 | 61.615 15 | 60.142 19 | 61.443 76 | 61.587 73 | 60.158 28 | |
表4 在PostgreSQL v9.6上使用HeSBO降维时DDPG、SMAC与MTune吞吐量、延迟率与系统开销的对比
Tab. 4 Comparison of DDPG, SMAC and MTune in throughput, latency rate and system overhead using HeSBO dimensionality reduction on PostgreSQL v9.6
| 指标 | 方法 | YCSB-A | YCSB-B | ||||
|---|---|---|---|---|---|---|---|
| DDPG | SMAC | MTune | DDPG | SMAC | MTune | ||
| 延迟率 | HeSBO-8 | 0.141 871 | 0.148 446 | 0.136 960 | 0.142 891 | 0.149 792 | 0.137 307 |
| HeSBO-16 | 0.146 970 | 0.140 851 | 0.136 663 | 0.150 950 | 0.140 762 | 0.137 277 | |
| HeSBO-24 | 0.150 277 | 0.137 653 | 0.137 634 | 0.148 059 | 0.138 287 | 0.136 594 | |
| 吞吐量 | HeSBO-8 | 70 527.17 | 67 555.70 | 73 129.01 | 69 985.88 | 66 893.14 | 72 836.29 |
| HeSBO-16 | 65 655.64 | 71 183.57 | 73 289.79 | 66 280.42 | 71 241.95 | 72 736.71 | |
| HeSBO-24 | 66 612.45 | 72 770.46 | 72 658.08 | 67 625.01 | 72 413.22 | 73 146.50 | |
| 系统开销 | HeSBO-8 | 66.170 64 | 61.081 05 | 61.738 81 | 67.447 52 | 61.277 16 | 60.149 42 |
| HeSBO-16 | 67.527 00 | 60.787 09 | 62.227 36 | 60.315 57 | 60.695 90 | 62.134 58 | |
| HeSBO-24 | 60.314 45 | 61.615 15 | 60.142 19 | 61.443 76 | 61.587 73 | 60.158 28 | |
图13 基于REMBO-8降维的DDPG、SMAC与MTune达到最低延迟率的迭代次数的对比
Fig. 13 Comparison of iterations to minimum latency rate achieved by DDPG, SMAC, and MTune with REMBO-8 dimensionality reduction
| [1] | Storm A J, Garcia-Arellano C, Lightstone S S, et al. Adaptive self-tuning memory in DB2 [C]// VLDB 2006. [S.l.]: VLDB Endowment, 2006: 1081-1092. |
| [2] | Wang Z, Hutter F, Zoghi M, et al. Bayesian optimization in a billion dimensions via random embeddings [J]. Journal of Artificial Intelligence Research, 2016, 55: 361-387. |
| [3] | Duan S, Thummala V, Babu S. Tuning database configuration parameters with iTuned [J]. Proceedings of the VLDB Endowment, 2009, 2(1): 1246-1257. |
| [4] | Cereda S, Valladares S, Cremonesi P, et al. CGPTuner: a contextual Gaussian process bandit approach for the automatic tuning of IT configurations under varying workload conditions [J]. Proceedings of the VLDB Endowment, 2021, 14(8): 1401-1413. |
| [5] | Li G, Zhou X, Li S, et al. QTune: a query-aware database tuning system with deep reinforcement learning [J]. Proceedings of the VLDB Endowment, 2019, 12(12): 2118-2130. |
| [6] | Wang L, Fonseca R, Tian Y. Learning search space partition for black-box optimization using Monte Carlo tree search [C]// NeurIPS 2020. Red Hook: Curran Associates Inc., 2020: 19511-19522. |
| [7] | Kanellis K, Ding C, Kroth B, et al. LlamaTune: sample-efficient DBMS configuration tuning [J]. Proceedings of the VLDB Endowment, 2022, 15(11): 2953-2965. |
| [8] | Zhou X, Chai C, Li G, et al. Database meets artificial intelligence: a survey [J]. IEEE Transactions on Knowledge and Data Engineering, 2022, 34(3): 1096-1116. |
| [9] | Trummer I. DB-BERT: a database tuning tool that "reads the manual” [C]// SIGMOD 2022. New York: ACM, 2022: 190-203. |
| [10] | Trummer I. CodexDB: synthesizing code for query processing from natural language instructions using GPT-3 codex [J]. Proceedings of the VLDB Endowment, 2022, 15(11): 2921-2928. |
| [11] | Zhou X, Sun Z, Li G. DB-GPT: large language model meets database [J]. Data Science and Engineering, 2024, 9(1): 102-111. |
| [12] | Li Z, Yuan H, Wang H, et al. LLM-R2: a large language model enhanced rule-based rewrite system for boosting query efficiency [J]. Proceedings of the VLDB Endowment, 2025, 18(1): 53-65. |
| [13] | Shahriari B, Swersky K, Wang Z, et al. Taking the human out of the loop: a review of Bayesian optimization [J]. Proceedings of the IEEE, 2016, 104(1): 148-175. |
| [14] | Zhang X, Chang Z, Li Y, et al. Facilitating database tuning with hyper-parameter optimization [J]. Proceedings of the VLDB Endowment, 2022, 15(9): 1808-1821. |
| [15] | Kanellis K, Alagappan R, Venkataraman S. Too many knobs to tune? towards faster database tuning by pre-selecting important knobs [C]// HotStorage 2020. Berkeley: USENIX Association, 2020: 1-8. |
| [16] | Nayebi A, Munteanu A, Poloczek M. A framework for Bayesian optimization in embedded subspaces [C]// ICML 2019. New York: JMLR.org, 2019: 4752-4761. |
| [17] | Zhang X, Wu H, Chang Z, et al. ResTune: resource oriented tuning boosted by meta-learning for cloud databases [C]// SIGMOD 2021. New York: ACM, 2021: 2102-2114. |
| [18] | Browne C B, Powley E, Whitehouse D, et al. A survey of Monte Carlo tree search methods [J]. IEEE Transactions on Computational Intelligence and AI in Games, 2012, 4(1): 1-43. |
| [19] | Zhu Y, Liu J, Guo M, et al. BestConfig: tapping the performance potential of systems via automatic configuration tuning [C]// SoCC 2017. New York: ACM, 2017: 338-350. |
| [20] | Cai B, Liu Y, Zhang C, et al. HUNTER: an online cloud database hybrid tuning system for personalized requirements [C]// SIGMOD 2022. New York: ACM, 2022: 646-659. |
| [21] | Ge J K, Chai Y F, Chai Y P. WATuning: a workload aware tuning system with attention-based deep reinforcement learning [J]. Journal of Computer Science and Technology, 2021, 36(4): 741-761. |
| [22] | van Aken D, Pavlo A, Gordon G J, et al. Automatic database management system tuning through large-scale machine learning [C]// SIGMOD 2017. New York: ACM, 2017: 1009-1024. |
| [23] | Zhang J, Zhou K, Li G, et al. CDBTune+: an efficient deep reinforcement learning based automatic cloud database tuning system [J]. The VLDB Journal, 2021, 30(6): 959-987. |
| [24] | Wang J, Immanuel I, Basu D. UDO: universal database optimization using reinforcement learning [J]. Proceedings of the VLDB Endowment, 2021, 14(13): 3402-3414. |
| [25] | Hutter F, Hoos H H, Leyton-Brown K. Sequential model-based optimization for general algorithm configuration [C]// LION 2011. Berlin: Springer, 2011: 507-523. |
| [26] | Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search [J]. Nature, 2016, 529(7587): 484-489. |
| [27] | Rakotoarison H, Schoenauer M, Sebag M. Automated machine learning with Monte-Carlo tree search [C]// IJCAI 2019. California: ijcai.org, 2019: 3296-3303. |
| [28] | Song L, Xue K, Huang X, et al. Monte Carlo tree search based variable selection for high dimensional Bayesian optimization [C]// NeurIPS 2022. Red Hook: Curran Associates Inc., 2022: 28488-28501. |
| [29] | Zhou X, Li G, CHAI C, et al. A learned query rewrite system using Monte Carlo tree search [J]. Proceedings of the VLDB Endowment, 2021, 15(1): 46-58. |
| [30] | Lao J, Wang Y, Li Y, et al. GPTuner: a manual-reading database tuning system via GPT-guided Bayesian optimization [J]. Proceedings of the VLDB Endowment, 2024, 17(8): 1939-1952. |
| [31] | Cooper B F, Silberstein A, Tam E, et al. Benchmarking cloud serving systems with YCSB [C]// SoCC 2010. New York: ACM, 2010: 143-154. |
| [32] | Zhang J, Liu Y, Zhou K, et al. An end-to-end automatic cloud database tuning system using deep reinforcement learning [C]// SIGMOD 2019. New York: ACM, 2019: 415-432. |
| [1] | 付锦程, 杨仕友. 基于贝叶斯优化和特征融合混合模型的短期风电功率预测[J]. 《计算机应用》唯一官方网站, 2026, 46(2): 652-658. |
| [2] | 白瑞峰, 苟光磊, 文浪, 缪宛谕. 基于粒球原型网络的小样本图像分类方法[J]. 《计算机应用》唯一官方网站, 2025, 45(7): 2269-2277. |
| [3] | 孙林, 刘梦含. 基于自适应布谷鸟优化特征选择的K-means聚类[J]. 《计算机应用》唯一官方网站, 2024, 44(3): 831-841. |
| [4] | 徐雪冉, 杨庚, 黄喻先. 横向联邦学习中差分隐私聚类算法[J]. 《计算机应用》唯一官方网站, 2024, 44(1): 217-222. |
| [5] | 钟静, 林晨, 盛志伟, 张仕斌. 基于汉明距离的量子K-Means算法[J]. 《计算机应用》唯一官方网站, 2023, 43(8): 2493-2498. |
| [6] | 翟冉, 陈学斌, 张国鹏, 裴浪涛, 马征. 基于不同敏感度的改进K-匿名隐私保护算法[J]. 《计算机应用》唯一官方网站, 2023, 43(5): 1497-1503. |
| [7] | 华夏, 朱铮皓, 徐聪, 张曦煌, 柴志雷, 陈闻杰. 基于精准通信建模的脉冲神经网络工作负载自动映射器[J]. 《计算机应用》唯一官方网站, 2023, 43(3): 827-834. |
| [8] | 高媛媛, 余振华, 杜方, 宋丽娟. 基于贝叶斯优化的无标签网络剪枝算法[J]. 《计算机应用》唯一官方网站, 2023, 43(1): 30-36. |
| [9] | 张达为, 刘绪崇, 周维, 陈柱辉, 余瑶. 基于改进YOLOv3的实时交通标志检测算法[J]. 《计算机应用》唯一官方网站, 2022, 42(7): 2219-2226. |
| [10] | 李由之, 胡志华, 陈春, 杨培蓓, 董雅静. 基于双长短期记忆网络组合的网络货运平台成交定价预测模型[J]. 《计算机应用》唯一官方网站, 2022, 42(5): 1616-1623. |
| [11] | 赵乐, 张恩, 秦磊勇, 李功丽. 基于区块链的多方隐私保护k-means聚类方案[J]. 《计算机应用》唯一官方网站, 2022, 42(12): 3801-3812. |
| [12] | 邹志文, 秦程. 基于k-means++的动态构建空间主题R树方法[J]. 计算机应用, 2021, 41(3): 733-737. |
| [13] | 张恩, 李会敏, 常键. 可验证的隐私保护k-means聚类方案[J]. 计算机应用, 2021, 41(2): 413-421. |
| [14] | 杨威亚, 余正涛, 高盛祥, 宋燃. 基于跨语言神经主题模型的汉越新闻话题发现方法[J]. 计算机应用, 2021, 41(10): 2879-2884. |
| [15] | 顾桐, 许国良, 李万林, 李家浩, 王志愿, 雒江涛. 基于集成LightGBM和贝叶斯优化策略的房价智能评估模型[J]. 计算机应用, 2020, 40(9): 2762-2767. |
| 阅读次数 | ||||||
|
全文 |
|
|||||
|
摘要 |
|
|||||