Posted: Thu Aug 24, 2006 2:25 pm Post subject: Performance Tuning
Centurion
Joined: 10 Oct 2002 Posts: 136 Location: California
Hi,
I want to do some performance tuning on existing message flows and was just what would be the best option to do it. I have a message flow wherein a copy of message is sent to three different compute nodes. Each compute node has ESQL logic to either filter the message or transform it to the target format. These are all huge SAP Idoc messages getting parsed in each compute node. I am thinking becuase of three compute nodes the memory required for parsing is multiplied three times. We have a resource constraint and maxed out on RAM on the servers. Upgrading the servers is going to happen in next six months but in the interim we need something.
I am thinking that by combining all the code into One compute node will give performance improvement. If I do that and pass the reference to input message to three different functions in one compute, will I get any improvement? Will broker internally still create three copies of message? If yes then obviously there is no point in doing that. Is there any other option?
You can improve performance by compacting the nodes down to one.
You can also improve performance by copying the message once an appropriately parserd field in the Environment, doing all your manipulations there, and then copying it ONCE to OutputRoot when you're done.
At a minimum, I would look at doing all the necessary parsing in a single node - and copying all the key data fields into the environment and then using them there rather than doing several CopyEntireMessage()s in several compute nodes. _________________ I am *not* the model of the modern major general.
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