设为首页 加入收藏

TOP

通向架构师的道路(第八天)之 weblogic 与 apache 的整合与调优(四)
2018-02-08 09:56:58 】 浏览:718
Tags:通向 架构 师的 道路 第八 weblogic apache 整合
们在创建domain时的用户名与密码

记得要把“锁定并编辑”变成“释放配置”的状态,要不然,你们看,右边的数据源的编辑按钮全部是灰色的。

点[新建]按钮选“一般数据源”。

我们使用oracle来配置我们的jdbc数据源。

填入相应的数据库的连接信息下一步下一步到如下这个界面:

把数据源需要起作用的服务器即“target”要选中,因为在Weblogic里可以用一个控制台控制多个Server,那么你的数据源是针对哪台server起作用呢?你需要告诉Weblogic。

点击[完成]

4.2.5 调优Weblogic的数据源

记得点击控制台左上角的“激活并保存编辑修改”,要不然刚才所做的操作全部作废,保存后你会看到如上的信息。

点击我们刚才新建的数据源,”jdbc_cbbsds”

进入此界面后点击左上角的“锁定并编辑”按钮,右边就是我们需要设置的值了。我们对“连接池”进行调整:

  • 初始容量

即最小数据连接数

  • 最大容量

最大数据连接数

  • 容量增长

每次增加的连接数

  • 语句高速缓冲类

为缓存选择 least-recently-used (LRU) 算法;这将从缓存中删除很少使用的语句。

还有一个值为Fixed。

LRU算法在有新的语句到来时,将最不经常被用得语句调整出缓存。FIXED算法为先进先出的算法。

一般应用我们使用LRU。

  • 语句高速缓冲大小

增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮助,WebLogic能够为每一个连接缓存这些对象,此值默认为10。在保证数据库游标大小足够的前提下,可以根据需要提高Statement Cache Size。比如当你设置连接数为25,Cache Size为10时,数据库可能需要打开25*10=250个游标。

那么我们的oracle数据库默认最大游标假设为1000,我们最大连接数设了25,那么这个statement cache的值就应该为:40,因为25*40=1000。

这个值不能过大,如果是开发环境上可以把这个值设为0,在生产环境上需要根据你oracle的max cursor数量进行实际设定,不是说越大越好的,千万不要拍脑袋啦!!!

注意:

和jvm的heap size一样,将“初始容量”与“最大容量”设成相等,根据oracle默认最大支持150个processor,那么oracle默认最大的连接数为max processor*1.1即165,那么我们就给最大25最小25就够了,必竟我们只是一个测试。

配完上面的参数后点一下保存,然后我们点“高级”这个链接。

高级有很多,我们一项项来过。

  • 保留时测试连接

请把此项打上勾。

我们的数据库连接池会不断的扫描我们的jdbc的连接使用情况,当发觉不用的jdbc连接时会“回收”掉它,因此你必须把这个选项的勾打上,要不然,weblogic的数据库连接池不会去扫描你的不用的连接或者长时间不活动的连接,此选项将有助于你系统的稳定性。比如说:有时我们碰到一些忘关的连接或者废弃的连接,那么weblogic将会自动为我们“回收”这些连接,以使得数据库连接池被充分利用。

  • 测试频率

这个值与上面的“保留时测试连接”是关联的,这个值默认为120秒,即2分钟,weblogic会产生一条探测语句“SQL SELECT 1 FROM DUAL”来探测你的oracle数据库中的连接,这个值绝对不能太小比如说:60秒,或者更有甚者设了个5秒,那么你的weblogic会不停的向oracle发送“SQL SELECT 1 FROM DUAL”语句,并且造成大量的inactive状态的数据库连接,最后甚至把你的oracle数据库给活活搞死,搞死搞死。。。。。。而且是“挺尸”就是数据库服务器动也动不了了,真的,不信你试试!J

一般在production环境上,如果相对稳定,可以把这个值,设大点,比如说:15分钟,或者20分钟探测一次。

  • 测试表名称

就是“探测”数据库的语句,我们就用它的默认的,挺好,不变

  • 初始化 SQL

保持默认,我们这边没有特殊的初始化的步骤。

  • 重试创建连接的频率

尝试建立数据库连接的间隔秒数。

如果不设置此值,则在数据库不可用的情况下,创建数据源的操作将失败。如果已设置此值且在创建数据源时数据库不可用,则在您指定的秒数之后,WebLogic Server 将重新尝试在池中创建连接,并会不断尝试创建连接,直到创建成功。

如果设置为 0,则将禁用连接重试。

我们此处就保持为0,没有特殊需求好failout的相关的需求(这个要根据客户的需求来定的)。

  • 登录延迟

创建每个物理数据库连接前的延迟秒数。此延迟支持不能快速连续处理多个连接请求的数据库服务器。

在初始数据源创建及数据源生命周期内,每当创建物理数据库连接时都会有此延迟。

我们保持它为0。

  • 非活动连接超时

保留连接处于不活动状态的秒数,该秒数过后WebLogic Server 将收回该连接并将其释放回连接池。

可以使用“非活动连接超时”功能收回泄漏的连接 – 未由应用程序显式关闭的连接。请注意,不能使用此功能来代替正常关闭连接。

如果设置为 0,则将禁用此功能。

如果上面的“保留时测试连接”、“测试频率”,“测试表名称”没有设置或者是“保留时测试连接”没有勾选,那么这个选项是没有用处的,因为它就是我们上面提到的,Weblogic会自动为我们释放一个超时的连接,这个超时要和oracle数据库中的sql_time_out一致,比如说:60秒,我们回收一个超时了的inactive的连接。

这个值的设定对我们数据库的稳定性和性能也有着很大的影响。

  • 最大等待连接数

等待保留数据源的连接池中的连接时会阻塞线程的最大并发连接请求数。

来看它的默认值“2147483647”,这边可千万不要用默认值啊,要不然你的数据库也一样会在出现阻塞或者是死锁时活活被搞死,搞死搞死。。。。。。而且是“挺尸”,为啥,一个阻塞了没事,这下好,一个阻塞了,然后它允许后面的连接继续进,进啊进啊进,你人又不可能天天时时分好盯着个oracle的监控端看着它,好了,进到2147483647个连接时,数据库不死了才怪呢。

一般太平点的,给个合理的数量就可以了,比如说100或者是200,不要超过oracle数据库提供的最大max session数就可以了。

  • 连接保留超时

保留连接池中的连接的调用超时之前经过的秒数。

如果设置为 0,则调用永远不会超时。

如果设置为 -1,则调用会立即超时(对数据库来说,这个值是最安全的,SQL语句一被调用就超时,然后经过上面的“非活动连接超时”后,会被weblogic的数据库连接池给回收。

  • 语句超时

此时间后当前正在执行的语句将超时。

StatementTimeout依赖于底层 JDBC 驱动程序支持。WebLogic Server 使用 java.sql.Statement.setQueryTimeout() 方法将指定的时间传递给 JDBC 驱动程序。如果 JDBC 驱动程序不支持此方法,可能会引发异常错误并导致忽略超时值。

值为 -1 时禁用此功能。

值为 0 表示语句不会超时。

最小值:-1

最大值:2147483647

注:

下面三个

首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇通向架构师的道路(第十天)之 Ax.. 下一篇Linux 性能检查命令总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目