Performance of BPM
Can anyone tell me about some tweaks that can be done in order to enhance the performances of the individual steps of BPM
Hi,
Performance behavior of BPM scenarios is determined by the actual process model and the number of executed process instances of a process.
The following are the determining factors for a particular process:
Number of messages received by a process (influenced by use of correlations)
Number of messages sent by a process
Number of transformations within a process (influenced by processed message sizes)
In general, process steps that generate work items internally are relevant for process performance. Transformation steps (either for message split or merge) also include a mapping step and can be quite expensive. This should be taken into consideration during scenario design.
For an example of resource consumption, see the BPM scenario described in the XI sizing guide:
The inbound SOAP messages are handed over to the BPE, which triggers a two-step process consist-ing of message reception and sending. The processed messages are then sent to a receiver by using the SOAP channel; no mapping.
The SAPS value for this scenario, in which 10 kB messages are processed, is 1300 (processing one process instance each second). A simple XI proxy scenario, for example, requires 140 SAPS process-ing one message each second. This gives you an idea of the resource requirements using BPM.
Check out the TCode SXMB_MONI_BPE for performance and check out this link also /people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform
Refer this thread.
BPM
Regards
Aashish Sinha
PS : Reward Points if Helped
Similar Messages
-
Scenario's performance with BPM vs without BPM in PI 7
hello,
Please send me the presentation, blogs describing the performance issues in PI 7
also, the docs differenciating a normal scenario's performance (without BPM) vs the scenario with BPM...
What are the enhancements made to BPM in PI 7 for performance increase?
Regards,
Nikhil.
******Each useful reply will be awarded*******
Edited by: nikhil a on Feb 7, 2008 6:10 AMBPM Performance: Integration processes are executed on the Integration Server at runtime by the Business Process Engine. Since the Integration Server is the central resource for message exchange, you must ensure that it is not overloaded; otherwise, this can lead to bottlenecks or performance problems.
Resource Consumption
Every step of an integration process uses Integration Server resources.
● Every message that is sent to the Process Engine is duplicated.
● Every message that is sent from the Process Engine is duplicated.
● A work item is created for the process itself and for every step the process contains.
This means that for a process that just receives one message that is sent without being processed further, four messages and three work items are created.
For this reason, you must ensure that you take Integration Server resources into account when you define integration processes.
Resource Consumption of Different Step Types and Transactional Behavior
Different step types consume different amounts of system resources:
● Step types with high resource consumption:
○ Receive step
○ Send step
Asynchronous send steps with acknowledgments in particular consume a lot of system resources. In the case of synchronous send steps, consumption depends on the target system.
○ Receiver determination
○ Transformation step
In transformation steps, resource consumption is dependent on the mapping called. In general, process steps that generate work items internally are relevant for process performance. Transformation steps (either for message split or merge) also include a mapping step and can be quite expensive. This should be taken into consideration during scenario design.
○ Block
○ Wait step
● Step types with low resource consumption:
○ Control step
○ Multiple condition
○ Fork
○ Loop
○ Undefined step
If you design the transactional behavior of an integration process so that the following steps are not performed as separate transactions, you can improve performance significantly:
● Transformation step
● Receiver determination
● Send step (synchronous or asynchronous)
Transactional Behavior of an Integration Process
Use
You can now influence transactional behavior in the definition of an integration process in the process editor. This enables you to improve performance.
Transaction:
A transaction is a sequence of processing steps that are either fully executed, or not executed at all. If the system cannot fully execute a transaction, it rolls back all processing steps within the transaction. This means that the system can return to the state before the transaction was begun.
The transaction control mechanism for integration processes is not a central transaction manager for an entire system landscape. The transaction control mechanism cannot roll back any processing steps outside the Integration Server.
Transaction Boundaries
You have the option of defining the start or end of a block as the boundary of a transaction.
● In the case of the start of a block, you can define that the system is to start a new transaction.
● In the case of the end of a block, you can define that the system is to end the transaction being started (COMMIT WORK). The system ends the transaction that is currently open, regardless of whether it has been started or not. For example, if no new transaction was started at the start of the block, the last transaction started is continued instead.
By making appropriate settings for the start and end of a block you can expand transactions. This means that the database needs to be accessed less often, and enables you to improve system performance
Transactional Behavior for Specific Step Types
At runtime, the system normally creates a separate transaction for each step. The transaction then covers this step only. However, you can influence the transactional behavior of particular step types. In the step properties, you can define that the system is not to start a new transaction when the step is executed. The system then executes the step in the transaction that was started at the time of execution. Consequently, no background work item is created for the step and the database does not need to be accessed. In this way you can improve system performance.
You can influence the transactional behavior of the following step types:
● Send step
You can influence the transactional behavior when sending messages both synchronously and asynchronously, and when sending acknowledgments
Transformation Step
Receiver Determination Step
Optimizing Transactional Behavior:
● Memory requirements
Expanding transactions and executing specific steps without creating a new transaction may increase the burden on the main memory. If the burden on the main memory is too great, you must redefine transactions, or define that a new transaction is to be created for the step concerned.
● Troubleshooting in the workflow log
The technical view of the workflow log does not show any detailed information for steps for which no work item was created. If an error occurs, the workflow log displays the error information for the last executed step. The following example illustrates this:
A process contains a transformation step that is executed within an expanded transaction. When the transformation step is executed, an error occurs in mapping and the system rolls back the transaction. Since no work item was created for the transformation step, the workflow log does not have an entry for the transformation step. The error information is entered in the last executed step in the workflow log.
EXAMPLE:
For an example of resource consumption, see the BPM scenario described in the XI sizing guide:
The inbound SOAP messages are handed over to the BPE, which triggers a two-step process consisting of message reception and sending. The processed messages are then sent to a receiver by using the SOAP channel; no mapping.
The SAPS value for this scenario, in which 10 kB messages are processed, is 1300 (processing one process instance each second). A simple XI proxy scenario, for example, requires 140 SAPS process-ing one message each second. This gives you an idea of the resource requirements using BPM.
Example:
In the original implementation, two separate JCBC calls were made to retrieve a sales order document header and the line items. This data then was transformed to the IDoc format of the receiving application using a transformation. Then, using a loop step, one IDoc at a time was sent to the backend application. - This sub optimal design resulted in poor performance caused by following design flaws:
Separate retrieval of header and line items with the JDBC adapter
Transformation within ccBPM to combine retrieved header and line items
IDoc back end connection for one document at the time
In the improved version below, both the JDBC call and the transformation were removed from the ccBPM. The retrieval of the source messages is done via a synchronous call with two mappings in the integration engine of XI that generate the required format for the receiving system. Therefore, it is not necessary to add an additional transformation step in the ccBPM. Additionally, the IDoc adapter connecting to the target system is used to handle multiple IDocs inside one XI message. Therefore, it is not necessary to add a loop operation within the ccBPM either. In this particular implementation, the described changes resulted in a 20x performance improvement!
IMP LINKS:
3bf550d4-0201-0010-b2ae-8569d193124e.pdf
43e8e190-0201-0010-3ea1-d6f996cb4124.pdf
70ada5ef-0201-0010-1f8b-c935e444b0ad.pdf
c071d7bb-0601-0010-d6b8-f4e4dc7f1e20.pdf -
** Queue Performance in BPM scenarios
Hi friends,
How about the Queue performance when processing lot of messages at the same time ? For example, if 100 files are picked up and processed by BPM (at the same time), all files processed by the queue XBQO$PE_<Task> Ex: XBQO$PE_WS90000041and the result are delivered thru transaction queues ex: XBTOY0_<4 digit queue> .
My doubt is a) Will this slow performance when processing lot of files like 200,300 b) Is it required to increase any queue parameter ?
Kindly clarify, friends.
Kind Regards,
Jeg P.Hey,
refer to the link for the performance issues.
/people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform
If you think the performance is slow then you can go for multiple Queues.
refer to this link for the configuration of multiple Queues.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0ff0006-3901-2a10-9e97-a71b423da545
reward points if useful.
regards,
Milan -
Hello Everyone
I have scenario, where in ECC is sending PAYEXT IDOC's to PI, and PI collects the IDOC's. As soon as summary IDOC(EUPEXR) is recieved in PI the collection of PAYEXT stops and we have a workflow starting in ECC. This is accomplished by using a FORK and the 2 channel in work will have an infinite loop.
The performance of the interface is pretty good for upto 1000 IDOC's, but in case of payroll when they are 3000 IDOC's that have to be transmitted as a single batch. The PI server takes 5-6 minutes to collect the PAYEXT IDOC's, which is delaying the start of workflow.
I have implemented message package with multiple queues, the timing has come down from 45 mins to 6 minutes.
Can anyone suggest anything else to further improve the performance?
--Prashanththe timing has come down from 45 mins to 6 minutes.
6 minutes is not bad
Which PI version are you using?
As soon as summary IDOC(EUPEXR) is recieved in PI the collection of PAYEXT stops and we have a workflow starting in ECC
What is the condition there to trigger the workflow?
Regards,
Prateek -
SAP XI BPM Performance and statistics
Hello all,
I am currently working on an integration using the BPM process within XI. During our initial testing, we noticed that, when it comes to the BPM process, XI takes too long to process a message. The actual size of the payload is really small and there is not much to the BPM process.
For example, I create one BPM process that takes a message and splits the message into separate documents for each target application and pass it on to another BPM process. The second process takes the message and changes its format to what is expected by the receiving application. It calls the target system and waits for a response.
Sender Recv'r Begin End End - Begin
SAPPRG Split 11:29:46 11:31:01 74.810089
Split Route 11:35:11 11:35:17 6.312764
Split Route 11:35:28 11:35:40 12.021294
Route DW 11:35:49 11:35:59 10.71562
Route MPR 11:35:50 11:36:00 9.579952
DW Route 11:35:59 11:35:59 0.50343
MPR Route 11:35:59 11:36:00 0.485403
Total 0:06:14 1.907142533
We also noticed some gaps b/w a message been send and receive steps within XI. I would like to know if there is any statistics on XI performance when it comes to processing messages within the BPM process and/or some documentation on how to improve performance using BPM.
Please, advise
Thanks..
-OV-Hi,
Checklist to use BPM-
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
Also refer this Performance tuning guide-
https://websmp106.sap-ag.de/~sapidb/011000358700000592892005E.PDF
If you are using Correlation etc, then try to use Local Correlation. SO that you can avoid the scope of the correlation to the entire process. By default it will be for entire process. Even you can make use Block step and try to group related steps and give the scope of the steps for the block.
Hope this helps,
Regards,
Moorthy -
Guys,
I do understand that ccPBM is very resource hungry but what I was wondering is this:
Once you use BPM, does an extra step decreases the performance significantly? Or does it just need slightly more resources?
More specifically we have quite complex mapping in 2 BPM steps. Combining them would make the mapping less clear but would it worth doing so from the performance point of view?
Your opinion is appreciated.
Thanks a lot,
Viktor VargaHi,
In SXMB_ADM you can set the time out higher for the sync processing.
Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
when you go for BPM the whole workflow
has to come into action so for example
when your mapping last < 1 sec without bpm
if you do it in a BPM the transformation step
can last 2 seconds + one second mapping...
(that's just an example)
so the workflow gives you many design possibilities
(brigde, error handling) but it can
slow down the process and if you have
thousands of messages the preformance
can be much worse than having the same without BPM
see below links
http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
BPM Performance tuning
BPM Performance issue
BPM performance question
BPM performance- data aggregation persistance
Regards
Chilla.. -
Hi gurus,
We have created an integration scenario with 3 services. We've created an ABAP and JAVA Dynpros in order to consume them. Everything runs OK and the entire runtime is 10 seconds.
We've generated a BPM to orchestrate it's execution (this BPM will bethe one which executes the three of them). In order to consuming this BPM we've created an ABAP and JAVA Dynpros. Everything runs OK and the entire runtime is 35 seconds.
Does anyone knows the meaning of this difference on the performance time?
We are the only one working on this machine.
The BPM is simple:
Start-BAPI1-BAPI2-BAPI3-End
Kind RegardsHI,
Yes i agree with Ahmad,try to avoid BPM. If you want use BPM then use the New transaction in transformation step.see the below links
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c071d7bb-0601-0010-d6b8-f4e4dc7f1e20
see below links
http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tu
ning%20Guide%20XI%203.0.pdf
BPM Performance tuning
BPM Performance issue
BPM performance question
BPM performance- data aggregation persistance
note 72923 note 72873
SAP XI BPM Performance and statistics
Performance problem on BPM
BPM pros and cons
Performance problems using BPM
regards
Chilla -
BPM: error at exactly 2500 messages after message split: no coincidence?
Hi everybody,
we poll a message, split it in BPm and than call a WebService.
We got an error exactly after 2500 messages were processed successful.
Is there a special parameter which influences the BPM?
Thanks a lot
Regards MarioHi,
In SXMB_ADM you can set the time out higher for the sync processing.
Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
when you go for BPM the whole workflow
has to come into action so for example
when your mapping last < 1 sec without bpm
if you do it in a BPM the transformation step
can last 2 seconds + one second mapping...
(that's just an example)
so the workflow gives you many design possibilities
(brigde, error handling) but it can
slow down the process and if you have
thousands of messages the preformance
can be much worse than having the same without BPM
see below links
http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
BPM Performance tuning
BPM Performance issue
BPM performance question
BPM performance- data aggregation persistance
Regards
Chilla.. -
How to make OBPM 10.3g solutions highly scalable and performant?
Hi experts,
I would like to request some advice on how to make Oracle BPM 10.3g based solutions highly scalable. In our organisation, we are rolling out few processes (3-5) on OBPM 10.3g, with couple of 100 concurrent users on each. But going forward, we expect at least 50 processes, with concurrent users on each process reaching upto 500-1000. We understand that each process could be packaged as separate OBPM project, targeted to separate OBPM engine, where each engine itself is targeted to a separate WebLogic server cluster. Is this the correct approach?
Apart from above, are there any additional factor/apporach that we must consider while implementing our solution?
Is there any documentation that discusses how to improve the performance/scalability of OBPM 10.3g solutions?
We would highly appreciate any pointers.. Many thanks.
Brgds,
AmitLoadRunner is one of the more popular means of performance testing BPM....
[http://www8.hp.com/us/en/software/software-product.html?compURI=tcm:245-935779&pageTitle=loadrunner-software] -
Question on BPM Transformation for File- RFC- File
Dear All,
I did the scenario from a blog ( http://www.sap-xi.com/sap-xi-scenario-file-rfc-bpm.html ) which is file->RFC->File with BPM. RFC call happening in BPM which is Sync and they are not using a transformation step anywhere in BPM. can you please explain me how mapping has been performed in BPM for this scenario.
BPM Design:
Start->Receive->Sync->Send->Stop
Thanks & Regards,
ManikandanSuprised to see this from you raja..
to better the performance of a BPM it is recommended to keep all the mappings in Interface Determination and not in BPM.....but in some cases it is required to have mappings within BPM.
they are not using a transformation step anywhere in BPM
Either mapping was not required or the same was included in Interface Determination.....it is not a compulsion to have a Transformation step.....i have not checked the blog but this should be the reason.
Edited by: abhishek salvi on Feb 21, 2011 6:42 PM -
Reusing Human Tasks across BPM Processes with different Data Objects
Hi
JDeveloper 11.1.1.6, WLS 10.3.6, SOA/BPM 11.1.1.6
I have defined 2 BPM Processes, P1 and P2, which has 2 different Process Data Objects O1 and O2.
But I am reusing the same Human Task in both the processes.
For the Human Task to support the activities in both the processes, I have added O1 and O2 Data Objects in the Human Task Definition.
And hence the ADF Taskflow / page generated out of the Human Task will have both the Data Objects O1 and O2 as payload objects in the Page.
When an instance of Process P1 is created, the payload O1 will have values, but O2 will be null.
And when an instance of Process P2 is created, the payload O2 will have values, but O1 will be null.
It works well like this, but I am a bit concerned about the performance from BPM Process and also ADF page.
In ADF page, let us say, somehow I can control the rendering of the attributes or creation of the iterator bindings based on identifying which process is being executed.
(By setting the iterator binding refresh property in page definition)
In this way attribute bindings for O1 will not be created when P2 is being executed.
But still when the Process instance is created, and when we see the payload structure of the human task in the EM - Audit Trail,
I still see both data objects O1 and O2 are created in the Payload, but O1 will have nulls in process P2.
So my question is, from performance point of view, is it advisable to define different Data Objects in reusable Human tasks ?
Or should I have to define a separate Human Task definition which contains only the Data Objects related to the process it is being called from ?
Thanks for any help
SameerMartijn,
You are correct in your assessment that the JAG in the current JHeadstart release cannot cope with multiple bc4j packages. There is no work around for this. Upgrading to 9051 will not help.
In the JHeadstart-ADF release, this restriction has been lifted. You can place your EO, VO and AM objects in different packages, and you can group them in a separate project (Model project), while generating your JHeadstart application in a ViewController project.
We have a number of customers that use the latest JHeadstart-ADF builds to build their ADF apps. If you are interested in joining this beta program, please send an e-mail to [email protected]
Steven Davelaar,
JHeadstart Team. -
IDOC to WS Synchronous Scenario Without BPM
Hi Experts,
I am dealing with Idoc to WS synchronous scenario. Can this be done without BPM??
ALEAUD can make IDOC to handle WS response??
Please suggest.
Regards,
SushamaPlease suggest since BPM involves performance issue
BPM surely has performance issue...only when there are a lot of steps/ logic implemented in it and when the processing load is too much for the XI/ PI server to handle.
The BPM design in your case will be just of following steps: Receive --> SyncSend --> AsyncSend .... excluding Transformation...and a BPM with these steps wont cause a big harm to processing of other messages.
Regards,
Abhishek. -
The message sequence of JMS adapter and BPM
This is my scenario: AP1 -> MQ -> JMS Adapter -> XI BPM -> SAP
But if AP1 sends 10 messages to MQ server, how to make sure the received message sequence of SAP is the same as AP1 ?
Because JMS adapter doesn't have synchronous ability, or I can set best effort to make sure the sequence.HI,
See the below links to solve the BPM performance problems
BPM Performance tuning
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
BPM performance question
SAP XI BPM Performance and statistics
Performance problem on BPM
BPM pros and cons
Performance problems using BPM
Regards
Chilla.. -
Hi,
Basically I have a BPM that has two parallel branches - one branch for sending to system A and a second branch for sending to system B.
The first parallel branch executes almost immediately with the data being sent ok to system A.
However, the second parallel branch seems to hang for about 10 minutes before it executes !!
I thought the idea of parallel processing was that it happens at the same time.
Any ideas what can cause this ?
Cheers
Colin.Hi,
also check..
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
See the below links to solve the BPM performance problems
BPM Performance tuning
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
BPM performance question
SAP XI BPM Performance and statistics
Performance problem on BPM
BPM pros and cons
Performance problems using BPM
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
Regards
Chilla.. -
How to best performance test OBPM 10.3g solutions?
Hi, is anyone aware of a framework that could be used for performance testing OBPM solutions?
Unlike normal SOA services which can be load tested using SOAP UI or a simple custom java client, BPM solutions could only be load/stress tested by having the process instances at various state in its life cycle.
Would highly appreciate any guidance/documentation?LoadRunner is one of the more popular means of performance testing BPM....
[http://www8.hp.com/us/en/software/software-product.html?compURI=tcm:245-935779&pageTitle=loadrunner-software]
Maybe you are looking for
-
Soundtrack Pro 2 keeps crashing...please somebody help :(
So here's my problem. I am running Soundtrack Pro 2 on my Mac Pro along with my Digi003. Both Final Cut Studio 2 and Logic Studio 8 are installed on my computer. Every application works fine except for STP2 that keeps crashing all the time. I tried t
-
How can i transfer all my photos from the iphone to be transferred to the PC
Hello there , Can anyone be of guide ? I have albums on the IPHONE 3Gs in the photo's category . How can I transfer all these to the Itunes or PC without selecting each one at a time & transferring to the email. Also the itunes i10 version does not s
-
This is what happens when I log in on firefox only! "In an attempt to increase security, you are no longer able to use your personal email to sign into your myWalden portal. Please try again using your WaldenU.edu email." I am not logging in with my
-
Tips For Solving the Mac OS X Lion Slowness (Lots of Beach Balls)
Hi Folks, Just a quick list of tips for this issue that some of Mac OS X Lion users face. The main symptom is that we get the Beach Ball on almost any task, it takes 4, maybe five times more time to do what we need to do. So depending on the schedule
-
Apple Community pages very slow in Safari.
Lately I am finding moving between Apple Community discussions has become very slow, sometimes irresponsive. It is not a permanent feature; it tends to be like that for varying periods of time ... then reverts to normal. My internet connection is