数据库连接池
1、数据库连接池的大小设置成2048:
每个请求要在连接池队列里等待 33ms,获得连接之后,执行SQL需要耗时77ms, CPU 消耗维持在 95% 左右;
2、数据库连接池的大小设置成1024,其他测试参数不变:
每个请求在连接池队列中的平均等待时间为 1ms, SQL 执行耗时为 2ms.
数据库的性能瓶颈时,大致可归为三类:CPU、磁盘 IO、网络 IO,
也许你会说,还有内存这一因素?内存的确是需要考虑的,但是比起磁盘IO和网络IO,稍显微不足道,这里就不加了。
假设我们不考虑磁盘 IO 和网络 IO,就很好定论了,在一个 8 核的服务器上,数据库连接数/线程数设置为 8 能够提供最优的性能,如果再增加连接数,反而会因为上下文切换导致性能下降。