<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>数据库优化 on 文艺技术笔记</title>
        <link>https://wenyiblog.top/tags/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BC%98%E5%8C%96/</link>
        <description>Recent content in 数据库优化 on 文艺技术笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>文艺技术笔记 | 软件工程师文艺</copyright>
        <lastBuildDate>Fri, 14 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wenyiblog.top/tags/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BC%98%E5%8C%96/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>国产数据库连接池配置避坑指南：达梦、GaussDB、人大金仓的参数调优对比</title>
        <link>https://wenyiblog.top/posts/guo-chan-shu-ju-ku-lian-jie-chi-pei-zhi-bi-keng-zhi-nan-da-meng-gaussdb-ren-da-jin-cang-de-can-shu-tiao-you-dui-bi/</link>
        <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://wenyiblog.top/posts/guo-chan-shu-ju-ku-lian-jie-chi-pei-zhi-bi-keng-zhi-nan-da-meng-gaussdb-ren-da-jin-cang-de-can-shu-tiao-you-dui-bi/</guid>
        <description>&lt;h2 id=&#34;开篇我踩过的3个连接池生产事故&#34;&gt;&lt;a href=&#34;#%e5%bc%80%e7%af%87%e6%88%91%e8%b8%a9%e8%bf%87%e7%9a%843%e4%b8%aa%e8%bf%9e%e6%8e%a5%e6%b1%a0%e7%94%9f%e4%ba%a7%e4%ba%8b%e6%95%85&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;开篇：我踩过的3个连接池生产事故
&lt;/h2&gt;&lt;p&gt;去年做信创迁移项目的半年时间里，光连接池配置问题就导致了三次线上故障，印象尤其深刻：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;某政务系统迁移到达梦8，照搬MySQL的Druid配置把最大连接数设为200，上线第三天高峰时段数据库直接拒绝所有连接，排查了半小时才发现达梦默认最大会话数只有100&lt;/li&gt;
&lt;li&gt;分布式电商系统切到GaussDB，批量订单插入性能直接降了70%，最后定位是连接池没开批量重写参数，单条语句单独发往CN节点导致负载雪崩&lt;/li&gt;
&lt;li&gt;人大金仓的政务服务平台，上线后经常出现随机连接超时，查了一周才发现是默认开启的SSL参数在内网非SSL环境下频繁握手失败&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些坑都不是数据库本身的问题，而是大多数开发运维习惯了MySQL的配置逻辑，直接套用到国产数据库上导致的适配问题。今天就从实战角度梳理三类主流国产数据库的连接池配置避坑方案，覆盖不同场景的最优参数。&lt;/p&gt;
&lt;h2 id=&#34;一国产数据库连接池配置的共性坑点&#34;&gt;&lt;a href=&#34;#%e4%b8%80%e5%9b%bd%e4%ba%a7%e6%95%b0%e6%8d%ae%e5%ba%93%e8%bf%9e%e6%8e%a5%e6%b1%a0%e9%85%8d%e7%bd%ae%e7%9a%84%e5%85%b1%e6%80%a7%e5%9d%91%e7%82%b9&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;一、国产数据库连接池配置的共性坑点
&lt;/h2&gt;&lt;h3 id=&#34;11-照搬mysql配置的常见误区&#34;&gt;&lt;a href=&#34;#11-%e7%85%a7%e6%90%acmysql%e9%85%8d%e7%bd%ae%e7%9a%84%e5%b8%b8%e8%a7%81%e8%af%af%e5%8c%ba&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;1.1 照搬MySQL配置的常见误区
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;很多团队做信创迁移时，直接把原有MySQL的连接池参数原封不动复制过来，这是踩坑最多的源头。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;三类共性问题几乎所有迁移项目都会遇到：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;最大连接数设置失配&lt;/strong&gt;：MySQL默认最大连接数是151，很多人习惯设置200-300的连接池上限，但国产数据库默认最大会话数普遍更低：达梦默认100，人大金仓默认100，GaussDB分布式CN节点默认最大会话数只有80，超过就会直接拒绝连接&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;超时参数不匹配会话机制&lt;/strong&gt;：国产数据库的会话超时逻辑和MySQL不同，比如达梦的会话空闲超时默认是8小时，要是连接池的空闲回收时间设得比这个长，就会出现大量无效的&amp;quot;僵死连接&amp;quot;，请求拿到无效连接直接报错&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;心跳检测配置失效&lt;/strong&gt;：很多人习惯用&lt;code&gt;select 1&lt;/code&gt;做心跳检测，但达梦需要&lt;code&gt;select 1 from dual&lt;/code&gt;才兼容，部分版本的人大金仓对无表查询的处理也有差异，心跳检测失效会导致连接池里积累大量不可用连接&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;12-连接池选型适配注意事项&#34;&gt;&lt;a href=&#34;#12-%e8%bf%9e%e6%8e%a5%e6%b1%a0%e9%80%89%e5%9e%8b%e9%80%82%e9%85%8d%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;1.2 连接池选型适配注意事项
&lt;/h3&gt;&lt;p&gt;目前对国产数据库适配最好的三类连接池优先级如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Druid&lt;/strong&gt;：官方专门做了国产数据库适配，自带监控面板可以直接查看连接状态，是信创项目的首选&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HikariCP&lt;/strong&gt;：性能比Druid高15%左右，但需要手动配置驱动类和连接属性，没有内置适配逻辑，适合性能要求高的场景&lt;/li&gt;
&lt;li&gt;绝对不要用过时的DBCP1.x版本，对国产数据库的驱动兼容性极差，频繁出现连接泄漏问题&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;二分库配置避坑与调优方案&#34;&gt;&lt;a href=&#34;#%e4%ba%8c%e5%88%86%e5%ba%93%e9%85%8d%e7%bd%ae%e9%81%bf%e5%9d%91%e4%b8%8e%e8%b0%83%e4%bc%98%e6%96%b9%e6%a1%88&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;二、分库配置避坑与调优方案
&lt;/h2&gt;&lt;h3 id=&#34;21-达梦dm8dm7连接池配置&#34;&gt;&lt;a href=&#34;#21-%e8%be%be%e6%a2%a6dm8dm7%e8%bf%9e%e6%8e%a5%e6%b1%a0%e9%85%8d%e7%bd%ae&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;2.1 达梦（DM8/DM7）连接池配置
&lt;/h3&gt;&lt;h4 id=&#34;常见踩坑点&#34;&gt;&lt;a href=&#34;#%e5%b8%b8%e8%a7%81%e8%b8%a9%e5%9d%91%e7%82%b9&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;常见踩坑点
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;驱动类配置错误：很多网上教程写的是&lt;code&gt;com.dameng.jdbc.DmDriver&lt;/code&gt;，实际正确的驱动类是&lt;code&gt;dm.jdbc.driver.DmDriver&lt;/code&gt;，写错会直接报找不到驱动错误&lt;/li&gt;
&lt;li&gt;最大连接数超过数据库默认的&lt;code&gt;MAX_SESSIONS&lt;/code&gt;参数，高峰时段直接拒绝所有新连接&lt;/li&gt;
&lt;li&gt;没有配置socket超时参数，长查询挂死会导致连接永久占用，最后耗尽所有连接资源&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;最佳配置druid为例&#34;&gt;&lt;a href=&#34;#%e6%9c%80%e4%bd%b3%e9%85%8d%e7%bd%aedruid%e4%b8%ba%e4%be%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;最佳配置（Druid为例）
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;spring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;datasource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;driver-class-name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;dm.jdbc.driver.DmDriver&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;jdbc:dm://127.0.0.1:5236/INSTANCE_NAME?compatibleMode=mysql&amp;amp;useUnicode=true&amp;amp;characterEncoding=utf8&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;SYSDBA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;SYSDBA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;druid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;initial-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;min-idle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-active&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-wait&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;time-between-eviction-runs-millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;20000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;min-evictable-idle-time-millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;30000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;validation-query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;select 1 from dual&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-while-idle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-on-borrow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-on-return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;connection-properties&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;socketTimeout=3000;connectTimeout=2000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;不同场景参数对照表&#34;&gt;&lt;a href=&#34;#%e4%b8%8d%e5%90%8c%e5%9c%ba%e6%99%af%e5%8f%82%e6%95%b0%e5%af%b9%e7%85%a7%e8%a1%a8&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;不同场景参数对照表
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;业务场景&lt;/th&gt;
					&lt;th&gt;最大连接数(max-active)&lt;/th&gt;
					&lt;th&gt;最小空闲(min-idle)&lt;/th&gt;
					&lt;th&gt;连接超时(max-wait)&lt;/th&gt;
					&lt;th&gt;空闲回收时间&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;小流量内部OA系统&lt;/td&gt;
					&lt;td&gt;20&lt;/td&gt;
					&lt;td&gt;5&lt;/td&gt;
					&lt;td&gt;3000ms&lt;/td&gt;
					&lt;td&gt;60000ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;中流量业务服务&lt;/td&gt;
					&lt;td&gt;50&lt;/td&gt;
					&lt;td&gt;10&lt;/td&gt;
					&lt;td&gt;3000ms&lt;/td&gt;
					&lt;td&gt;30000ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;高流量核心系统&lt;/td&gt;
					&lt;td&gt;80&lt;/td&gt;
					&lt;td&gt;20&lt;/td&gt;
					&lt;td&gt;2000ms&lt;/td&gt;
					&lt;td&gt;20000ms&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：达梦的最大连接数绝对不要超过数据库&lt;code&gt;MAX_SESSIONS&lt;/code&gt;参数的70%，预留30%给管理员操作和备份任务。验证连接数可以执行SQL：&lt;code&gt;select count(*) from v$session where username=&#39;SYSDBA&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;22-华为gaussdb分布式版集中式版连接池配置&#34;&gt;&lt;a href=&#34;#22-%e5%8d%8e%e4%b8%bagaussdb%e5%88%86%e5%b8%83%e5%bc%8f%e7%89%88%e9%9b%86%e4%b8%ad%e5%bc%8f%e7%89%88%e8%bf%9e%e6%8e%a5%e6%b1%a0%e9%85%8d%e7%bd%ae&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;2.2 华为GaussDB（分布式版/集中式版）连接池配置
&lt;/h3&gt;&lt;h4 id=&#34;常见踩坑点-1&#34;&gt;&lt;a href=&#34;#%e5%b8%b8%e8%a7%81%e8%b8%a9%e5%9d%91%e7%82%b9-1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;常见踩坑点
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;分布式场景下连接数设置过高，CN节点处理连接的资源被占满，导致整个集群雪崩&lt;/li&gt;
&lt;li&gt;没有配置&lt;code&gt;reWriteBatchedInserts=true&lt;/code&gt;参数，批量插入性能会下降70%以上，所有批量语句都会被拆成单条执行&lt;/li&gt;
&lt;li&gt;会话级参数没有通过连接池传递，导致读写路由错误，本该发往只读节点的请求发到了主节点&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;最佳配置hikaricp为例&#34;&gt;&lt;a href=&#34;#%e6%9c%80%e4%bd%b3%e9%85%8d%e7%bd%aehikaricp%e4%b8%ba%e4%be%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;最佳配置（HikariCP为例）
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;spring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;datasource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;driver-class-name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;org.postgresql.Driver&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;jdbc:postgresql://127.0.0.1:5432/db_name?currentSchema=public&amp;amp;reWriteBatchedInserts=true&amp;amp;useUnicode=true&amp;amp;characterEncoding=utf8&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hikari&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;minimum-idle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;maximum-pool-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;60&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;connection-timeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2500&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;idle-timeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;30000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-lifetime&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;60000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;connection-test-query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;select 1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;auto-commit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;不同场景参数对照表-1&#34;&gt;&lt;a href=&#34;#%e4%b8%8d%e5%90%8c%e5%9c%ba%e6%99%af%e5%8f%82%e6%95%b0%e5%af%b9%e7%85%a7%e8%a1%a8-1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;不同场景参数对照表
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;业务场景&lt;/th&gt;
					&lt;th&gt;最大连接数(maximum-pool-size)&lt;/th&gt;
					&lt;th&gt;最小空闲(minimum-idle)&lt;/th&gt;
					&lt;th&gt;连接超时&lt;/th&gt;
					&lt;th&gt;批量插入优化&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;集中式OA系统&lt;/td&gt;
					&lt;td&gt;30&lt;/td&gt;
					&lt;td&gt;8&lt;/td&gt;
					&lt;td&gt;3000ms&lt;/td&gt;
					&lt;td&gt;关闭&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;分布式电商系统&lt;/td&gt;
					&lt;td&gt;60&lt;/td&gt;
					&lt;td&gt;15&lt;/td&gt;
					&lt;td&gt;2500ms&lt;/td&gt;
					&lt;td&gt;开启&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数仓同步场景&lt;/td&gt;
					&lt;td&gt;40&lt;/td&gt;
					&lt;td&gt;10&lt;/td&gt;
					&lt;td&gt;5000ms&lt;/td&gt;
					&lt;td&gt;开启&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;提示：GaussDB分布式版的每个CN节点的连接数上限建议控制在80以内，超过这个阈值会导致CN节点的CPU占用率飙升，查询延迟成倍增长。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;23-人大金仓kingbasees-v8v9连接池配置&#34;&gt;&lt;a href=&#34;#23-%e4%ba%ba%e5%a4%a7%e9%87%91%e4%bb%93kingbasees-v8v9%e8%bf%9e%e6%8e%a5%e6%b1%a0%e9%85%8d%e7%bd%ae&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;2.3 人大金仓（KingbaseES V8/V9）连接池配置
&lt;/h3&gt;&lt;h4 id=&#34;常见踩坑点-2&#34;&gt;&lt;a href=&#34;#%e5%b8%b8%e8%a7%81%e8%b8%a9%e5%9d%91%e7%82%b9-2&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;常见踩坑点
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;驱动类混用：很多人迁移时直接用PostgreSQL的&lt;code&gt;org.postgresql.Driver&lt;/code&gt;，虽然部分场景能兼容，但遇到大字段、存储过程等场景会出现兼容性错误，正确驱动是&lt;code&gt;com.kingbase8.Driver&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;没有显式配置&lt;code&gt;currentSchema&lt;/code&gt;参数，默认会找和用户名同名的schema，导致频繁报&amp;quot;表不存在&amp;quot;错误&lt;/li&gt;
&lt;li&gt;默认开启SSL参数，内网非SSL环境下会频繁出现握手超时，连接成功率不到80%&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;最佳配置druid为例-1&#34;&gt;&lt;a href=&#34;#%e6%9c%80%e4%bd%b3%e9%85%8d%e7%bd%aedruid%e4%b8%ba%e4%be%8b-1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;最佳配置（Druid为例）
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;spring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;datasource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;driver-class-name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;com.kingbase8.Driver&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;jdbc:kingbase8://127.0.0.1:54321/db_name?currentSchema=public&amp;amp;useUnicode=true&amp;amp;characterEncoding=utf8&amp;amp;useSSL=false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;system&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;system&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;druid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;initial-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;min-idle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-active&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-wait&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3500&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;time-between-eviction-runs-millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;25000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;min-evictable-idle-time-millis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;35000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;validation-query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;select 1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-while-idle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-on-borrow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;test-on-return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;connection-properties&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;socketTimeout=3500;connectTimeout=3000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;不同场景参数对照表-2&#34;&gt;&lt;a href=&#34;#%e4%b8%8d%e5%90%8c%e5%9c%ba%e6%99%af%e5%8f%82%e6%95%b0%e5%af%b9%e7%85%a7%e8%a1%a8-2&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;不同场景参数对照表
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;业务场景&lt;/th&gt;
					&lt;th&gt;最大连接数(max-active)&lt;/th&gt;
					&lt;th&gt;最小空闲(min-idle)&lt;/th&gt;
					&lt;th&gt;连接超时&lt;/th&gt;
					&lt;th&gt;Schema配置&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;政务内网系统&lt;/td&gt;
					&lt;td&gt;25&lt;/td&gt;
					&lt;td&gt;6&lt;/td&gt;
					&lt;td&gt;3000ms&lt;/td&gt;
					&lt;td&gt;显式指定&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;公网服务系统&lt;/td&gt;
					&lt;td&gt;40&lt;/td&gt;
					&lt;td&gt;10&lt;/td&gt;
					&lt;td&gt;3500ms&lt;/td&gt;
					&lt;td&gt;显式指定&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;信创迁移项目&lt;/td&gt;
					&lt;td&gt;35&lt;/td&gt;
					&lt;td&gt;8&lt;/td&gt;
					&lt;td&gt;4000ms&lt;/td&gt;
					&lt;td&gt;显式指定&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;三不同业务场景的通用调优策略&#34;&gt;&lt;a href=&#34;#%e4%b8%89%e4%b8%8d%e5%90%8c%e4%b8%9a%e5%8a%a1%e5%9c%ba%e6%99%af%e7%9a%84%e9%80%9a%e7%94%a8%e8%b0%83%e4%bc%98%e7%ad%96%e7%95%a5&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;三、不同业务场景的通用调优策略
&lt;/h2&gt;&lt;h3 id=&#34;31-高并发秒杀场景&#34;&gt;&lt;a href=&#34;#31-%e9%ab%98%e5%b9%b6%e5%8f%91%e7%a7%92%e6%9d%80%e5%9c%ba%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;3.1 高并发秒杀场景
&lt;/h3&gt;&lt;p&gt;核心原则：连接数尽量小，空闲回收快，超时时间短。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;有句话说，连接池不是越大越好，合适的才是最好的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;高并发场景下，连接池的最大连接数不要超过数据库核心数的2倍，比如8核数据库最多设16个连接，过多的连接会导致数据库上下文切换开销飙升，反而降低吞吐量。超时时间建议控制在2000ms以内，失败快速熔断，避免请求堆积。&lt;/p&gt;
&lt;h3 id=&#34;32-定时任务批量处理场景&#34;&gt;&lt;a href=&#34;#32-%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1%e6%89%b9%e9%87%8f%e5%a4%84%e7%90%86%e5%9c%ba%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;3.2 定时任务批量处理场景
&lt;/h3&gt;&lt;p&gt;核心原则：允许较大连接数，延长超时时间，开启批量优化参数。
批量处理场景对延迟不敏感，但对吞吐量要求高，可以适当把最大连接数提高到数据库最大会话数的60%，超时时间设为5-10秒，开启批量重写、预编译等优化参数，大幅提升批量操作性能。&lt;/p&gt;
&lt;h3 id=&#34;33-低峰低谷波动大的政务场景&#34;&gt;&lt;a href=&#34;#33-%e4%bd%8e%e5%b3%b0%e4%bd%8e%e8%b0%b7%e6%b3%a2%e5%8a%a8%e5%a4%a7%e7%9a%84%e6%94%bf%e5%8a%a1%e5%9c%ba%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;3.3 低峰低谷波动大的政务场景
&lt;/h3&gt;&lt;p&gt;核心原则：最小空闲数不要设置太高，空闲回收时间稍长。
政务系统普遍存在工作时间高峰、非工作时间几乎无流量的特点，最小空闲数建议设为最大连接数的20%，空闲回收时间设为60秒，避免非工作时间大量空闲连接占用资源，同时高峰时段不用频繁创建新连接。&lt;/p&gt;
&lt;h2 id=&#34;四线上故障排查快速checklist&#34;&gt;&lt;a href=&#34;#%e5%9b%9b%e7%ba%bf%e4%b8%8a%e6%95%85%e9%9a%9c%e6%8e%92%e6%9f%a5%e5%bf%ab%e9%80%9fchecklist&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;四、线上故障排查快速Checklist
&lt;/h2&gt;&lt;p&gt;遇到连接池相关故障时，按以下顺序排查可以快速定位问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先查数据库端当前会话数是否达到上限，执行对应数据库的查询会话SQL即可快速确认&lt;/li&gt;
&lt;li&gt;再核对连接池配置的驱动类、URL、用户名密码是否正确，尤其是URL里的参数是否匹配数据库版本&lt;/li&gt;
&lt;li&gt;检查连接池的超时参数是否和数据库端的&lt;code&gt;SESSION_TIMEOUT&lt;/code&gt;参数匹配，连接池的空闲回收时间必须小于数据库的会话超时时间&lt;/li&gt;
&lt;li&gt;验证心跳检测SQL是否能在数据库端正常执行，不要直接用&lt;code&gt;select 1&lt;/code&gt;，要用对应数据库兼容的写法&lt;/li&gt;
&lt;li&gt;查看是否有连接泄漏，通过连接池监控或者数据库会话视图查看是否有长时间空闲的连接，及时调整回收策略&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;国产数据库的生态正在快速完善，连接池配置是信创迁移过程中最容易被忽略但影响最大的环节之一，提前做好适配调优可以避免90%以上的连接相关生产故障。随着信创落地的加速，熟悉国产数据库的适配逻辑会成为开发运维的必备技能。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
