oracle连接数一般设置多大,oracle实际修改最大连接数

首页 > 大全 > 作者:YD1662022-12-16 00:20:09

oracle连接数一般设置多大,oracle实际修改最大连接数(1)

目录

一、前言

基本上来说,大部分项目都需要跟数据库做交互,那么,数据库连接池的大小设置成多大合适呢?

一些开发老鸟可能还会告诉你:没关系,尽量设置的大些,比如设置成 200,这样数据库性能会高些,吞吐量也会大些!

你也许会点头称是,真的是这样吗?看完这篇文章,也许会颠覆你的认知哦!

oracle连接数一般设置多大,oracle实际修改最大连接数(2)

二、正菜开始

可以很直接的说,关于数据库连接池大小的设置,每个开发者都可能在一环节掉进坑里,事实上呢,大部分程序员可能都会依靠自己的直觉去设置它的大小,设置成 100 ?思量许久后,自顾自想,应该差不多吧?

三、假设你的服务有1万并发的访问

不妨意淫一下,你手里有个网站,并发压力虽然还没到 Facebook 那个级别,但是呢?也有个1万上下的并发量!也就是说差不多2万左右的 TPS。

那么问题来了!这个网站的数据库连接池应该设置成多大合适呢?

其实这个问法本身就是有问题的,我们需要反过来问,正确问法应该是:

“这个网站的数据库连接池应该设置成多小合适呢?”

PS: 这里有一个 Oracle 性能小组发布的简短视频,链接地址为 http://www.dailymotion.com/video/x2s8uec,友情提示,需要科学上网才能访问哦!

oracle连接数一般设置多大,oracle实际修改最大连接数(3)

口述一下,视频中对 Oracle 数据库进行了压力测试,模拟 9600 个并发线程来操作数据库,每两次数据库操作之间 sleep 550ms,注意,视频中刚开始设置的线程池大小为 2048。

让我们来看看数据库连接池的大小为 2048 性能测试结果的鬼样子:

每个请求要在连接池队列里等待 33ms,获得连接之后,执行SQL需要耗时77ms, CPU 消耗维持在 95% 左右;

接下来,我们将连接池的大小改小点,设置成 1024,其他测试参数不变,结果咋样?

"这里,获取连接等待时长基本不变,但是 SQL 的执行耗时降低了!"

哎呦,有长进哦!

接下来,我们再设置小些,连接池的大小降低到 96,并发数等其他参数不变,看看结果如何:

每个请求在连接池队列中的平均等待时间为 1ms, SQL 执行耗时为 2ms.

我去!什么鬼?

我们没调整任何东西,仅仅只是将数据库连接池的大小降低了,这样,就能把之前平均 100ms 响应时间缩短到了 3ms。吞吐量指数级上升啊!

你这也太溜了!

oracle连接数一般设置多大,oracle实际修改最大连接数(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.