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 » WebSphere Message Broker (ACE) Support » shared variables

Post new topic  Reply to topic
 shared variables « View previous topic :: View next topic » 
Author Message
vmcgloin
PostPosted: Wed Feb 03, 2010 5:51 am    Post subject: shared variables Reply with quote

Knight

Joined: 04 Apr 2002
Posts: 560
Location: Scotland

Hi,

We have around 130 global variables in the default broker schema – some are SHARED variables used to hold constant values e.g.
Code:
DECLARE RC_SOME_APP_RETURN_CODE SHARED CHARACTER 'HumanReadableDescription';


Other are namespace declarations which are not defined as SHARED e.g.
Code:
DECLARE ns1 NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';


I noticed today in some debug user tracing that these are all declared every time a message enters a new node (Compute, Filter etc.). This adds ~0.1s to the processing time for each node. This figure is with debug user trace on a development broker so it would be much less but potentially significant at production volumes. It may also have an impact on memory usage, and if we continue as we are then the number of global variables will gradually grow.

A colleague has pointed out that as these are SHARED they should be declared once and then exist for the lifetime of the message flow or indeed the execution group. This seems reasonable according to the documentation (see http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/topic/com.ibm.etools.mft.doc/ak04895_.htm). But, the user trace shows these DECLARE statements being executed for every node. Is this just an artefact of the tracing - or can anyone shed any light on this for us please?

My immediate reaction was to try to introduce the use of broker schemas to restrict the variables to relevant code, but if they are long-lived then this probably is not necessary.

Any advice would be much appreciated.
Thanks,
Vicky

Edited to add:
BIP8996I: Version: 6105
BIP8997I: Product: WebSphere Message Brokers
BIP8998I: CMVC Level: S610-FP05 DH610-FP05
BIP8999I: Build Type: Production
Back to top
View user's profile Send private message
nathanw
PostPosted: Wed Feb 03, 2010 8:03 am    Post subject: Reply with quote

Knight

Joined: 14 Jul 2004
Posts: 550

By my experience what you are seeing is correct within the trace.

ie it is saying what is happening at that point in time

have you tried running teh trace in npormal mode and not debug ie in not so much detail?

I suppose it is like caching of details they are kept for a certain amount of time and if not reused or refreshed for a while will cause a lsight delay when they are next required.
_________________
Who is General Failure and why is he reading my hard drive?

Artificial Intelligence stands no chance against Natural Stupidity.

Only the User Trace Speaks The Truth
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » shared variables
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.