tomcat数据库连接池个数计算

在配置tomcat数据库连接池时候,对配置的具体数值总是懵逼。这里给出具体建议。

首先上公式:
数据库连接池连接数 = ((核心数 * 2) + 有效磁盘数)
核心数如何得到?

linux 查看物理cpu的个数

 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查看每个物理CPU中core的个数(即核数)

 cat /proc/cpuinfo| grep "cpu cores"| uniq

两数相乘即得到核心数。

有效磁盘数一般是一个。这样得到的数据库连接池个数是不是和自己猜想的小的很多?
下面进行理解一下。

单核 CPU同一时刻只能执行一个线程,然后操作系统切换上下文,CPU 核心快速调度,执行另一个线程的代码,不停反复,给我们造成了所有进程同时运行假象,其实这时候上下文切换的性能损耗很大。

其实,在一核 CPU 的机器上,顺序执行A和B永远比通过时间分片切换“同时”执行A和B要快,因为一旦线程的数量超过了 CPU 核心的数量,再增加线程数系统就只会更慢,而不是更快,因为这里上下文切换会耗费额外的性能。

ok,以后再遇到连接数的配置,切不可想着越大越好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值