ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Websphere MQ Client Message Overhead

Post new topic  Reply to topic
 Websphere MQ Client Message Overhead « View previous topic :: View next topic » 
Author Message
sameerg
PostPosted: Thu Feb 02, 2006 2:03 pm    Post subject: Websphere MQ Client Message Overhead Reply with quote

Newbie

Joined: 02 Feb 2006
Posts: 5

We have an application developed using VB 6.0 front end and Websphere MQ Client communicating with Websphere MQ Server. Over the LAN this architecture works just fine.

We have majority of the users using this application over a wireless radio network with 9.6 K shared bandwidth. Our network experts found out that MQ Series is a very chatty application. It adds a lot of overhead to the application messages. Due to which, we get lot of dropped connections and delays in communication.

Is there a way to avoid / reduce the MQ overhead?
Any setting / property on either client or server?
Any other products / programs / alternate solutions?
Any suggestions?

All your help would be truly appreciated.
Back to top
View user's profile Send private message
BenR
PostPosted: Thu Feb 02, 2006 11:58 pm    Post subject: Reply with quote

Acolyte

Joined: 31 Jan 2006
Posts: 60
Location: Hursley, UK

Have you looked at WebSphere MQ Everyplace? WMQ is fairly network intensive, and assumes the network is reliable. WMQe was designed to work over unreliable networks, with a much smaller message size. Sending messages between WMQ and WMQe is fairly straighforward.
Back to top
View user's profile Send private message Visit poster's website
sameerg
PostPosted: Fri Feb 03, 2006 8:15 am    Post subject: Reply with quote

Newbie

Joined: 02 Feb 2006
Posts: 5

BenR wrote:
Have you looked at WebSphere MQ Everyplace? WMQ is fairly network intensive, and assumes the network is reliable. WMQe was designed to work over unreliable networks, with a much smaller message size. Sending messages between WMQ and WMQe is fairly straighforward.


Thanks very much for the reply. I work for the state govt. WMQ Client is free and MQE has a license fee. Before considering MQE we are required to see if we can fine tune the existing product.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 03, 2006 10:11 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Whenever you issue an MQ call for a client, you send MQ specific data to and from the Queue Manager. So design your code logic to minimize connects, opens, closes, and disconnects. When you have to put, you have to put, nothing you can do there.

If you are doing a GET with wait, know that the client will be sharing a HB with the QM every HeartBeatInterval, a parameter on the client channel. Either up that value real high, or don't leave yourself in a GET with wait.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
sameerg
PostPosted: Fri Feb 03, 2006 10:58 am    Post subject: Reply with quote

Newbie

Joined: 02 Feb 2006
Posts: 5

PeterPotkay wrote:
Whenever you issue an MQ call for a client, you send MQ specific data to and from the Queue Manager. So design your code logic to minimize connects, opens, closes, and disconnects. When you have to put, you have to put, nothing you can do there.

If you are doing a GET with wait, know that the client will be sharing a HB with the QM every HeartBeatInterval, a parameter on the client channel. Either up that value real high, or don't leave yourself in a GET with wait.


Currently the HeartBeatInterval on channel is set to 60 Sec. The reason we can not bump it up any further (unless there is some thing else we could do..) is when we loose connection over wireless network, for some reason MQC takes approx. twice the time of HBI which in our case is 60 x 2, to error out and throw MQ Connection error to the VB Client. In short it takes 2 minutes for vb client to know the connection was lost and need to establish a new connection.
Back to top
View user's profile Send private message
wschutz
PostPosted: Fri Feb 03, 2006 12:30 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

You could look into using compression exits at the send/receive exit points on the channel (and V6 of MQ has built-in compression available). Of course, it doesn't diminsh the number of sends across the link, but could cut down on the bandwidt requirement .....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
PeterPotkay
PostPosted: Fri Feb 03, 2006 12:31 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Do you do MQGETs with Wait?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
sameerg
PostPosted: Fri Feb 03, 2006 1:11 pm    Post subject: Reply with quote

Newbie

Joined: 02 Feb 2006
Posts: 5

wschutz wrote:
You could look into using compression exits at the send/receive exit points on the channel (and V6 of MQ has built-in compression available). Of course, it doesn't diminsh the number of sends across the link, but could cut down on the bandwidt requirement .....


Thanks very much. I was not aware V6 had compression built in, it is worth a try. MQ headers are binary I wonder how well would it compress.
We use compression on our application messages & we get 70-90 % compression, but it's all XML.

BMC has a product called PATROL for WebSphere MQ. Has anyone used this product or knows if it would help in any way to reduce MQ Overhead?
Back to top
View user's profile Send private message
sameerg
PostPosted: Fri Feb 03, 2006 1:19 pm    Post subject: Reply with quote

Newbie

Joined: 02 Feb 2006
Posts: 5

PeterPotkay wrote:
Do you do MQGETs with Wait?


Yes that is correct, we use MQGMO_WAIT with WaitInterval, which is 5 seconds if the app runs in wireless mode Vs 1 sec if it's LAN.

I think you guys are leading me in the right direction. I do appreciate all your help.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 03, 2006 3:20 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

5 seconds eh? What do you do when that 5 second get with wait returns a 2033? Just issue another 5 second get with wait? If yes, that's your problem, and the cause of your overhead, assuming you are not getting more than 1 message every 5 seconds.

Just issue a long Get with wait, make sure you specify fail if quiescing on the get, and code a little routine after each succesful get to check for a "quit" message so you can graceful ask your app to drop out of the get. With this design, you will only see HBs flowing every HB Interval during the blocking get with wait, and those are only 12 bytes. Otherwise any activity will be application message driven, and there ain't no way around dat.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Websphere MQ Client Message Overhead
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.