本文主要是介绍高性能 数据库连接池 HikariCP | 连接池大小配置误区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
👀 上节回顾:上一节对 HikariCP 数据源的配置进行了详细了解。
👉 本节目标:关于连接池大小的设定,有一定的误区,必读。【没想到,有误区😂】
连接池越大越好?No!!!
有这样的场景:10000 个并发前端用户,每秒 2000 个事务执行,如何配置连接池的大小?配 200?配 20?配置 10000?
连接池的大小设定,可能和我们的直觉相反。 😂 我们想着它得是很大,而恰恰相关,却很小。将连接池调小,可能响应时间会从 100 ms 降低为 2ms。
连接池大小的影响因素
CPU:单核情况下,利用操作系统提供时间片轮转算法,可以实现多个线程调用 CPU。但本质上,同一时刻只有一个线程被 CPU 执行。如果有很多线程需要被 CPU 调度,则会产生大量的线程上下文切换,就会导致性能很差。
内存:一般来说,内存比较容易获取到,读取速度高于磁盘/网络几个数量级,对连接池的影响较小。
磁盘与网络:磁盘与网络都需要读写,即存在 IO 等待。此时,线程会被阻塞,CPU 可以继续调度其它线程。
连接池大小 - 公式
🚀 公式:连接数 = (CPU 核心数 * 2)+ 机械硬盘主轴数量
这篇关于高性能 数据库连接池 HikariCP | 连接池大小配置误区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!