签到成功

知道了

CNDBA社区CNDBA社区

Oracle 数据库性能 与 应用连接池配置策略 关系说明

2021-01-22 22:40 418 0 原创 Oracle 19c
作者: Dave

正常情况下,业务系统都是通过中间件来连接数据库。 对于一些大型的系统,并发高,业务忙,就需要更多的连接来访问数据库。

但是对于数据库而言,连接并不是越多越好,过多的连接,不能不能增加系统的性能,反而会降低性能。

https://www.cndba.cn/dave/article/4360

对于高并发的系统,不管是中间件,还是数据库,对会面临压力。 但是从性能角度来考虑,建议将这个压力留在中间件上,可以通过排队的方式进行处理。 如果将连接全部丢给数据库,那么会占用很多的内存资源,同时也会造成热点,产生latch:cache buffers chains 之类的等待事件,造成会话处理时间变长,业务性能和处理能力降低,同时主机CPU 资源还比较空闲。https://www.cndba.cn/dave/article/4360

因此对于OLTP类型的系统,建议对应用服务器的连接数按以下公式设置:https://www.cndba.cn/dave/article/4360https://www.cndba.cn/dave/article/4360https://www.cndba.cn/dave/article/4360

最大连接数 = 最小连接数 = 数据库CPU Core * [1-10]

说明:

1.CPU Core 是物理core 数,不是超线程之后的值。 可以通过/proc/cpuinfo 查询:https://www.cndba.cn/dave/article/4360

[root@www.cndba.cn ~]# cat /proc/cpuinfo | grep "model name" | wc -l
4

2.这里的1-10倍是参考值,要根据具体的业务进行调整,对于I/O 相对较多的,可以设置接近于10,如果是运算耗CPU相对较多的,建议设置更接近于1倍的值。

3.这里说的连接池是所有web加起来的数,在应用侧配置,而不是修改数据库的sessions 参数值。https://www.cndba.cn/dave/article/4360https://www.cndba.cn/dave/article/4360

4.对于RAC 环境,数据库CPU Core 是所有节点相加的值。

总结来说,就是通过对应用侧的连接池连接数的合理配置,让数据库能更高效的运行,尽可能的使用更多CPU和IO资源,而不是让数据库出现无效的资源争用,系统反而很空闲。 https://www.cndba.cn/dave/article/4360

https://www.cndba.cn/dave/article/4360

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1902
    原创
  • 2
    翻译
  • 456
    转载
  • 131
    评论
  • 访问:3642065次
  • 积分:3137
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群