初始的配置

压测跑起来之后是这个样子的:

教你怎么配置数据库连接池,保证无忧虑

2048连接时的性能数据

每个请求要在连接池队列里等待33ms,获得连接后执行SQL需要77ms

此时数据库的等待事件是这个熊样的:

教你怎么配置数据库连接池,保证无忧虑

各种buffer busy waits

各种buffer busy waits,数据库CPU在95%左右(这张图里没截到CPU)

接下来,把中间件连接池减到1024(并发什么的都不变),性能数据变成了这样:

教你怎么配置数据库连接池,保证无忧虑

连接池降到1024后

获取链接等待时长没怎么变,但是执行SQL的耗时减少了。

下面这张图,上半部分是wait,下半部分是吞吐量

教你怎么配置数据库连接池,保证无忧虑

wait和吞吐量

能看到,中间件连接池从2048减半之后,吐吞量没变,但wait事件减少了一半。

接下来,把数据库连接池减到96,并发线程数仍然是9600不变。

教你怎么配置数据库连接池,保证无忧虑

96个连接时的性能数据

队列平均等待1ms,执行SQL平均耗时2ms。