Author |
Message
|
jefflowrey |
Posted: Wed Jan 09, 2008 9:29 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
PeterPotkay wrote: |
Avoid segmenting messages with MQ clusters. |
At least when sending messages from OUTSIDE the cluster. Bind On Open is fine for INSIDE the cluster. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jan 09, 2008 9:37 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
jefflowrey wrote: |
PeterPotkay wrote: |
Avoid segmenting messages with MQ clusters. |
At least when sending messages from OUTSIDE the cluster. Bind On Open is fine for INSIDE the cluster. |
Inside the cluster the bind on open will get them all easily to the same q, true enough, but you still saddle yourself with a message affinity if you use segments. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jan 09, 2008 9:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
PeterPotkay wrote: |
sockynow,
Check out "Reviewing Message Affinities" in Chapter 5 of the Cluster Manual. Segmented messages are a problem. You've designed a problem situation.
This is the easiest way to fix this:
fjb_saper wrote: |
Alternative: Define a list of cluster qmgrs to your sending application and assign one of the cluster qmgrs for each put. While this allows for load distribution it does not take into consideration that one of the target qmgrs could be down. A dummy request reply service could do (an imperfect) check for this... (limiting the stuck msgs to 1 per sender?)
|
but not perfect as fjb_saper mentioned. Avoid segmenting messages with MQ clusters. Or implement a cluster workload exit on the gateway QM that will be smart enough to handle this (not the easiest solution). |
Depending on the situation the really easiest set up would be to make the sending qmgr a PR in the cluster...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sockynow |
Posted: Wed Jan 09, 2008 11:09 pm Post subject: |
|
|
Novice
Joined: 02 Apr 2006 Posts: 13
|
My project is deployed on Intranet, the speed of network is slow, so I must to segment message. I want to increase the performance of system. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 10, 2008 4:41 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Break your data up into the smallest possible transaction, that can be processed independently of any other message... I.e. get rid of your message affinity. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jan 10, 2008 9:23 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
And check out Message Compression in the MQ Intercommunication Manual. Its available by default for all MQ channel types in MQ 6.0. If you must stick with giant messages to remove affinities this will lessen the penalty across the wire (how much depends how compressable your data is). Or do as Jeff says and redesign the message so you can send little messages across the cluster. Sticking with segmentation in a cluster is the worst option. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|