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 AM

    BPM 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

  • Performance in BPM

    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?
    --Prashanth

    the 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

  • BPM performance question

    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 Varga

    Hi,
    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..

  • Performance BPM

    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 Regards

    HI,
    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 Mario

    Hi,
    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,
    Amit

    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]

  • 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,
    Manikandan

    Suprised 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
    Sameer 

    Martijn,
    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,
    Sushama

    Please 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..

  • Branch in BPM hangs

    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