WebLogic Server 性能及调整

     上一页  下一页    在新窗口中打开目录     
在此处开始内容

调整 WebLogic 消息传递桥

以下部分提供有关用于提高消息传递桥性能的各种方法的信息:

 


最佳实践

 


更改批处理大小

将“已启用异步模式”特性设置为 false,并且服务质量为“恰好一次”,批处理大小 特性可用于通过增加每个事务(批处理)的消息数来减少事务提交数。桥实例的最佳批处理大小取决于使用的 JMS 提供程序、硬件、操作系统和应用程序环境中的其他因素的组合。请参阅“管理控制台联机帮助”中的配置事务属性

 


更改批处理间隔

将“已启用异步模式”特性设置为 false,并且服务质量为“恰好一次”时,BatchInterval特性用于调整桥在转发批处理消息之前等待达到批处理限量的时间长度。桥实例的最佳批处理间隔取决于使用的 JMS 提供程序、硬件、操作系统和应用程序环境中的其他因素的组合。例如,如果队列不是很忙,则桥可能会频繁停止转发,以便等待达到批处理限量,这表明需要减小 BatchInterval 特性的值。请参阅“管理控制台联机帮助”中的配置事务属性

 


更改服务质量

恰好一次”服务质量的效果可能显著高于或低于“至多一次”和“至少一次”。

使用恰好一次服务质量时,桥必须向两个 JMS 服务器经历两个阶段的提交以便确保事务语义,此操作的开销可能非常大。但与其他服务质量不同的是,消息传递桥可以使用恰好一次服务一起批处理多项操作。

可能需要对此参数进行试验,才能得到最佳性能。例如,如果队列不是很忙,或者使用的是非持久性消息,则执行恰好一次批处理的优势可能会很小。请参阅“管理控制台联机帮助”中的配置消息传递桥实例

 


使用多个桥实例

如果不必对消息排序,请考虑部署多个消息传递桥。

可以使用同一目标部署多个消息传递桥实例。完成此操作后,消息传递桥的所有实例都可以同时运行,这样可以提高消息吞吐量。如果使用多个消息传递桥实例,则转发消息的顺序会不同于消息在源目标中的顺序。请参阅“管理控制台联机帮助”中的创建消息传递桥实例

确定是否使用多个消息传递桥时要考虑下列因素:

 


更改线程缓冲池大小

为每个定位于服务器实例的消息传递桥实例提供一个线程,这是消息传递桥配置通则。可用下列某个选项来确保充足的线程可用于环境:

 


避免持久订阅

如果桥正在监听某个主题,并且能够接受在桥不转发消息时允许丢失消息,则禁用已启用持久性标志可以确保无法传递的消息不会积聚在源服务器的存储中。禁用该标志也会使消息变成非持久性消息。请参阅“管理控制台联机帮助”中的配置消息传递桥实例

 


用消息传递桥的源或目标共同定位消息传递桥

如果消息传递桥源或目标是 WebLogic 目标,则将消息传递桥部署到 Weblogic 目标所在的同一 WebLogic 服务器中。用消息传递桥目标之一定位消息传递桥,会消除关联网络和序列化开销。在高吞吐量应用程序中(尤其是在消息为非持久性消息时),此类开销可能会很显著。

 


更改“已启用异步模式”特性

已启用异步模式特性用于确定消息传递桥是用 JMS MessageListener 接口异步接收消息,还是用同步 JMS API 接收消息。在大多数情况下,Asynchronous Enabled特性值取决于应用程序环境所需的 QOS,如表 15-1 中所示:

表 15-1 QOS 级别的“已启用异步模式”值
QOS
“已启用异步模式”特性值
false
true
true

1如果源目标是非 WebLogic JMS 提供程序,并且 QOS 为“恰好一次”,将禁用“已启用异步模式”特性,并且在同步模式中处理消息。

请参阅“管理控制台联机帮助”中的配置消息传递桥实例

如果服务质量为恰好一次,则会对消息传递桥性能产生显著影响。消息传递桥对每条消息都会启动一项新事务,并且在事务所涉及的两个 JMS 服务器上分两个阶段执行提交。由于两阶段提交通常是消息传递桥事务中开销最大的部分,因此随着处理的消息增加,消息传递桥性能将逐渐下降。


  返回顶部       上一页  下一页