cancel
Showing results for 
Search instead for 
Did you mean: 

Business Process Performance Tuning

Former Member
0 Kudos

Hi Pals,

I would like to request your help and inputs regarding tuning performance of Business process for my scenario.

I have created a synchronous Process with 3 message mapping transformation steps. ( inbetween Sync Receive and Sync Send steps). So its pretty simple process.

I am able to execute only 3500 processes per hour.

The SAP Netweaver Server m/c configuration is 2 dual core processors with 12 GB RAM.

Business process - Without buffering with multiple queues (content specific).

IE Logging - No sync logging, logging level - 0 ( so logging turned off )

I have tried out all the configurations mentioned in below weblogs, but with very less improvement in my case.

I think something else is choking the execution, as the CPU or memory usage is not more than 10-20%.

Please pour in your inputs.

Thank you!

Best Regards,

Saravanan N

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

How many queues did you set for your BPM in SWF_INB_CONF?

Also, how many available dialog work processes you have in your system (check in SM50 f.ex.)?

Setting more queues than available work processes is not a good approach, since each time some queues will get stuck anyway.

You've said you have 3 transformation steps in the BPM.

Could you explain your BPM message flow & step list?

Usually, it is possible to have mappings outside BPM, which increses performance by several folds.

Regards,

Henrique.

Former Member
0 Kudos

Hi Henrique,

Thank you for your suggestions!

The number of queues configured for this process is 6 ( I assumed and set this number as I am testing with 6 threads ).

The total number of dialog processes configured is 75 ( figures from SM50 ).

The process is designed as:

1. Synchronous Receive

2. Simple Mapping transformation

3. Simple Mapping transformation

4. Simple Mapping transformation

5. Synchronous Send back ( close S/A bridge ).

I tried configuring mapping outside Business Process, but there is no effect in throughput.

Best Regards,

Saravanan N

henrique_pinto
Active Contributor
0 Kudos

Hi Saravanan,

your mappings are straight e.g. like A->B, B->C, C->D ?

If yes, then:

1. why not make a single mapping program, A->D?

2. if that's not feasible, why not use the 3 mapping programs within the same Interface Mapping?

3. mapping outside BPM will increase the performance, that's for sure, maybe you just didn't observe it because of some side effects.

Other than that, make sure that all steps in BPM have the "Create New Transaction" flag disabled.

Also, when you say "I'm testing with 6 threads", you mean that the max number of concurrent executing processes is 6? To be sure whether this number meets your requirements, check SMQ2 after triggering a test. If the 6 queues keep having more than 1 entry at the same time, you need more queues.

Regards,

Henrique.

Former Member
0 Kudos

Hi Henrique,

Thank you!

1. Yes. The maximum number of concurrent executing processes is 6.

2. Regarding mapping, yes it is: A -> B, B -> C, C -> D. I purposefully made it this way, just for the performance testing purpose. Just I wanted to test and evaluate the performance of the system with this simple process.

3. I checked SMQ2. None of the queues hold messages more than 1. Occasionally 2 messages. However I increased the number of queues in SWF_INB_CONF from 6 to 12. But there is no difference in throughput.

Best Regards,

Saravanan N

bhavesh_kantilal
Active Contributor
0 Kudos

Hi

What about Transaction Handling done inside the BPM for each of the individual steps?

Refer to this recent blog to understand how Transaction Handling can be used. The lesser the number of transaction, the better the performance, but there is a loss of monitoring and restart options when you turn of transactions for a step type.

[Transactional Behavior in a BPM|]

Regards,

Bhavesh

Former Member
0 Kudos

Thank you very much Bhavesh!

In my BPM, all the steps are set for "No New Transaction". So as to avoid any performance issue. But there is no improvement.

Even I have deleted all the work-items from Trxn: SWWL before the test.

From ST03N, for each process instance executed, four function modules takes the maximum time.

Function Module--


No. of Calls--


Execution Time/RFC Call

TRFC_QIN_DEST_SHIP--


1--


995 milliseconds

TRFC_QIN_ACTIVATE--


1--


1077 milliseconds

ARFC_DEST_SHIP--


2--


280 milliseconds

ARFC_RUN_NOWAIT--


2--


402 milliseconds

Best Regards,

Saravanan N

Answers (0)