2.3.7 Batch size属性
通道的Batch size(BATCHSZ)值是影响通道性能的一个关键参数。在MQ进行消息传输时,通道对消息的处理也是在同步点的控制之下并具有交易特性的,在以下条件满足时,它将统一提交一批消息:
当发送的消息个数达到BATCHSZ时;或传输队列为空,并且在BATCHINT指定的时间间隔内一直没有消息到达时。
缺省情况下,通道的Batchsz是50,这是一个较为合理和优化的设置。一个小的Batch size值会使每条消息占用大的资源。比如,假设我们在局域网的情况下,Batch size值越大,通道的性能越好。然而,在广域网环境下,要根据网络状况的好坏来设置该参数,若网络状况很差,Batch size值越大,可能会导致通道的性能越差。
2.3.8 NpmSpeed属性
WebSphere MQ的消息分为永久性消息和非永久性消息两种,对于非永久性消息,通道属性NPMSPEED可以设置为FAST和NORMAL,为了提高性能,可以设定该属性为FAST。
2.4 通道通讯优化 2.4.1 选择侦听程序(Listener)的运行方式
MQ的侦听程序有两种配置和启动方式,一种是通过配置/etc/inetd.conf文件选择使用inetd方式, 也可以使用MQ自身提供的runmqlsr程序,所不同的是:runmqlsr 是一个线程应用,所以比inetd需要更少的内存消耗。因此,采用runmqlsr方式可以提高通道相关的性能。
2.4.2 选择通道的运行方式
与侦听程序类似,与MQ通道对应的MCA代理程序也可以有线程和进程两种运行方式,可以通过定义通道的MCATYPE属性来设置通道MCA的运行方式为thread方式。让通道以线程方式运行而非进程方式运行,这样可以减少通道运行的进程个数和消耗的内存资源。
对于以上两点,要注意的是:当通道的连接个数很多时,如在Unix平台上超过500个时,建议MCATYPE和listener采用进程的方式。
2.4.3 设置侦听程序的trusted运行方式
与MQ应用程序类似,MQ的通道侦听程序也有trusted(fastpath)和non trusted(standard)两种运行方式,采用trusted运行方式可以降低CPU和内存消耗。将通道和侦听程序设置为trusted方式运行的方法是通过修改qm.ini配置文件中的MQIBindType参数来实现,即创建或修改qm.ini文件中与Channels相关的小节,例如:
Channels:
MQIBindType=FASTPATH 或者
MQIBindType=STANDARD
其中,FASTPATH表示trusted运行方式,而STANDARD表示非trusted运行方式。
2.4.4 通道的PipeLineLength属性
从MQ版本V5.2开始,MQ提供了一个新的通道参数,即PipeLineLength属性,通过该属性,可以设置MCA采用多个线程的方式来传输消息,从而成为提高通道性能的又一个手段。缺省情况下,该参数数值为1,任何大于1的设置MQ本身都会将其设置为2。
设置PipeLineLength的方法是修改qm.ini文件的Channels一节,如下:
Channels:
PipeLineLength=2
注意,必须在通道两端都进行设置,否则会自动取两者之间的最小值。
以下文章点击率最高
Loading…