加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

中间件(WAS、WMQ)运维 9个常见难点解析

发布时间:2019-01-27 19:28:04 所属栏目:业界 来源:talkwithtrend
导读:副标题#e# 安装 1、was 负载均衡的机制的粘连性,was负载均衡异常? 有一个case系统,,部署在was集群环境,应用是集群环境,有的时候当一个节点异常的时,客户端访问该系统就会抛出异常,按正常情况,该会话应该不会断或者断了再连接一次就会到另一个节点,

tcp_keepintvl连接间隔,单位为0.5秒,缺省值为150,我们可将它设为50;

  1. /usr/sbin/no -o tcp_keepidle=240  
  2. /usr/sbin/no -o tcp_keepinit=50  
  3. /usr/sbin/no -o tcp_keepintvl=50 

需要注意的一点是通道两端的KeepAlive参数要保持协调一致,若发送端的KeepAlive值小于接收端的KeepAlive值,则当网络出现故障时,发送端的通道停下来之后,接收端的通道会仍然停不下来。

C)使用AdoptNewMCA

通过修改qm.ini文件的Channels一节进行修改,如:Channels:

AdoptNewMCA=ALL

当MQ接收到启动通道的请求,但是同时它发现与该通道对应的amqcrsta的进程已经存在,这时,该进程必须首先被停止,然后,通道才能启动。AdoptNewMCA的作用就是停止这种进程,并且为新的通道启动请求启动一个新的进程。

该属性可以将状态处于running状态的接收端通道强行终止,从而使发送端的通道启动或请求操作得以成功。

如果为某一通道指定了AdoptNewMCA的属性,但是新的通道由于"channel is already running"而启动失败,则它可以:

1) 新的通道通知之前的通道停止

2) 如果旧的通道在AdoptNewMCATimeout的时间间隔内没有接受该停止请求,相应的进程(或线程)被kill掉

3) 如果旧的通道经过步骤2仍未终止,则当第二个AdoptNewMCATimeout时间间隔到达时,MQ终止该通道,同时产生"channelin use"的错误。

D) 设置MaxChannels和MaxActiveChannels属性

MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。

E)Disconnect interval属性

DisconnectInterval(DISCINT)是发送和服务类型的通道所具有的一个参数,它的作用是:在它设置的时间间隔内,如果传输队列为空即通道上没有消息通过时,通道就会被停止。设置完Disconnect Interval参数之后,当发送方重起通道时,通道就会被正常启动。

Disconnect Interval的值会地影响通道的性能。如果把Disconnect Interval的值设置得非常小,会导致通道的频繁启动;反之,如果把Disconnect Interval的值设置得很大,则意味着即使通道上很长时间没有消息,系统资源也会被长期占用,从而影响系统的性能。因此,利用改变 Disconnect Interval的值,我们可以有效地改善通道的性能。

当传输队列中没有消息要传送时,发送方通道(SDR)、服务器通道(SVR)将在等待了该参数指定的时间间隔后断开连接,停止通道。该参数以秒为单位,定义新的通道时,如果没有特别指定,该参数会继承系统对象的属性,设为6000秒,约两个小时。亦通道连续两个小时没有消息发送后就会停止。DISCINT参数设定为0,通道永远不会停止。(注:有防火墙的不能设为0)

F) Heart Beat Interval属性

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读