+1 vote
248 views
in Performance Tuning by (11.2k points)
Need to evaluate an existing IBM BPM existing application, what are the key elements of such an evaluation?

2 Answers

+2 votes
by (11.2k points)

BPM Process Applications Performance Evaluation

1. Minimum steps before first coach – There should be minimum steps before the first coach in a Task since these steps are executed after a user clicks on a task and cause a delay in loading of the coach.

The following Human Services were found to have extra steps before first coach

a.

b.

2. Manageable coaches – split onto multiple steps if too much data is being handled in a single coach, or follow tabbed pattern.

3. Cached integrations – Integrations providing static data should be cached.

4. Memory footprint, massive variables as input, but not all is needed – If massive complex variables are input to tasks or services they cause a heavy memory footprint, also while passing from a BPD to a service there is a deep-copy involved which has significant cost.

The following steps were found with multiple huge complex variables being passed from BPD to service.

a.

b.

Remove or nullify all unused data, also a keyed cache can be used if the data is constant for the same object along with static cache.

5. All flows should end at end points.

The following processes were found which did not terminate at an end point

1.

6. Avoid global exception handlers – Where possible specific exception handlers should be used per service, a catch all kind of exception handler has performance implications.

The following processes were found using global exception handling

1.

2.

7. No consecutive system lane activities – If more than one consecutive system lane activities are there they should be combined into one activity.

8. Use no-task activities when possible

9. Uncheck save-execution context when possible

Following Services were found with save-execution context checked.

10. Avoid Polling patterns Polling pattern – the process runs for ever and needs to be externally terminated, there should be provisions to externally terminate it.

11. Limit Business Data Search – Business Data is not exposed for the primary process

13. Use Parametrized queries No regular sql queries were found.

14. Use Stringbuffer instead of regular String concatenation – The following services were found implementing regular string concatenation.

1.

2.

15. Compact Static resources –images and js files should be compressed.

16. Minimize use of Custom HTML

0 votes
by (700 points)

Adding to the existing points, 

  1. Reduce the usage of EPVs in the server script(Reason - EPVs are held in process server DB and invoking EPV each time is a database call which in turn adds performance overheads).
  2. Try to use javascript functions when you want to use the same code in a server script.

Related questions

+1 vote
1 answer 286 views
0 votes
1 answer 298 views
0 votes
0 answers 79 views
0 votes
1 answer 406 views
0 votes
0 answers 45 views
0 votes
1 answer 138 views
0 votes
0 answers 51 views
+1 vote
1 answer 918 views
+1 vote
1 answer 570 views
0 votes
1 answer 110 views
0 votes
2 answers 394 views
...