WLI的事件定时发生器(Timer Event Generator)定为每10秒运行一次但运行起来非常慢还会出现不一致的情况_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4609 | 回复: 0   主题: WLI的事件定时发生器(Timer Event Generator)定为每10秒运行一次但运行起来非常慢还会出现不一致的情况        下一篇 
lxk
注册用户
等级:上尉
经验:547
发帖:109
精华:0
注册:2011-8-18
状态:离线
发送短消息息给lxk 加好友    发送短消息息给lxk 发消息
发表于: IP:您无权察看 2011-12-1 13:38:59 | [全部帖] [楼主帖] 楼主

WLI Timer Event Generator set to run every 10 seconds runs very slow and inconsistently
Applies to:
Oracle WebLogic Integration - Version: 8.1.2SP and later [Release: and later ]
Information in this document applies to any platform.
The Event timer fed a business process (jpd) which ran queries on an Oracle database.
Symptoms
You have a Timer Event Generator that is configured to run every 10 seconds. Recently, you noticed that the event triggered only intermittently. You have a standard method of restarting the Timer Event Generator which normally fixes any problems. However, nothing you did fixed this problem.
Cause
The timer event generator used a business process (jpd) which had several database queries. Some thread dumps were showing that the database queries were taking a very long time. Because of the long-running queries, everything slowed down. Because all of the message driven beans were busy waiting for the database queries to finish, there weren't enough available bean instances to keep up with the timer.
Solution
(1) You added the following SQL statement to the Init SQL attribute of JDBC connection pool:
SQL alter session set optimizer_mode='rule'; This SQL statement forced Oracle to choose rule-based optimization, regardless of the data type used in the query. SQL query execution times dropped from 8 -10 seconds to milliseconds.
(2) You increased the thread count of the default execute queue from 15 to 45. This change increased the number of concurrent MDB instances available to the Timer Event Generator, and made the Timer Event Generator consistently run every 10 seconds.
For more information about tuning WLI, refer to the following documentation links:
* EJB Pooling and Caching at http://download.oracle.com/docs/cd/E13214_01/wli/docs81/deploy/intro.htm...
* Process Control Resources at http://download.oracle.com/docs/cd/E13214_01/wli/docs81/deploy/intro.htm...
* How do I tune WebLogic Integration Applications? at http://download.oracle.com/docs/cd/E13214_01/wli/docs81/bpfaq/tuning.htm...
* Tuning JDBC Connection Pool Maximum Capacity at http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/WLSTunin...
* Setting EJB Pool Size for Session and Message-Driven Beans at http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/EJBTunin...
* Tuning In Response to Monitoring Statistics at http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/EJBTunin...
* dispatch-policy at http://download.oracle.com/docs/cd/E13222_01/wls/docs81/ejb/DDreference-...


WLI的事件定时发生器(Timer Event Generator)定为每10秒运行一次但运行起来非常慢还会出现不一致的情况

应用于:

Oracle WebLogic Integration – 版本: 8.1.2SP 及以后版本 [发行: 8.1.2及以后版本 ]

这篇文档的所有信息适用于任何平台

事件定时器会为正运行Oracle数据库的实例返回一个业务流程(jpd)

现象

你有一个事件定时发生器设置为每10秒运行一次。最近你注意到这个事件只会间歇性的被触发。你有一个独立的方法可以重启事件定时发生器来解决一些正常的问题,但不能解决这个问题。

原因

事件定时发生器使用包含多个数据库实例的业务流程(jpd)。一些线程信息显示了数据库实例运行了很长的时间。由于长时间运行的实例导致所有的东西都慢了下来。由于所有的消息驱动bean都在等待数据库实例的完成,所以没有足够多的可利用bean实例来完成定时器的任务。

解决方法

(1)      在JDBC的连接池的初始化SQL属性中加入下面的SQL语句:SQL alter session set optimizer_mode='rule';这条语句强制Oracle根据角色最优进行选择,忽略实例中的数据类型。SQL实例执行时间从8到10秒降到按毫秒计算

(2)      你可以将默认的线程数量从15增加到45。这种改变增加了可利用的MDB数量来保证有足够的bean来完成事件定时发生器每10秒运行一次的任务。

关于WLI更多的信息请参考下面的链接

*EJB池和缓存

http://download.oracle.com/docs/cd/E13214_01/wli/docs81/deploy/intro.htm...


* 进程控制资源

http://download.oracle.com/docs/cd/E13214_01/wli/docs81/deploy/intro.htm...


* 怎样调整WLI应用

http://download.oracle.com/docs/cd/E13214_01/wli/docs81/bpfaq/tuning.htm...


* 调整JDBC连接池的最大容量

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/WLSTunin...


* 设置会话和消息驱动bean EJB池的大小

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/EJBTunin...


* 调整对监视统计信息的反应

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perform/EJBTunin...


*分配方案

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/ejb/DDreference-...




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论