cancel
Showing results for 
Search instead for 
Did you mean: 

BPS Planning Function Performance

Former Member
0 Kudos

Dear all,

In our projects we've faced the following problem.

We have BPS user-exit planning function. This function should process a large amount of data. And, of course, performance of this processing is very critical!

To increase performance we divided whole data amount into subsets and launch mentioned PF for each subset in background within separated thread ([http://help.sap.com/erp2005_ehp_04/helpdata/EN/c4/3a7f1f505211d189550000e829fbbd/frameset.htm], [http://help.sap.com/erp2005_ehp_04/helpdata/EN/fa/096e92543b11d1898e0000e8322d00/frameset.htm])

But now the problem:

Processing time for first thread is more, than 15 minutes of 35.000 records.

For second one - 5 sec(!!!) for 25.000

Third thread - 4 sec for 20.000

and so on...

In some threads calculation time also increases to 10-15 minutes for one thread. Statistic of calculation is below

Thread - Ecex. Time - Total read - Changed - New

1 - 0:12:46 - 33124 - 16317 - 1252

2 - 0:00:03 - 12936 - 2202 - 264

3 - 0:00:05 - 17108 - 6072 - 468

4 - 0:00:03 - 8540 - 2184 - 402

5 - 0:00:03 - 0 - 0 - 0

6 - 0:00:03 - 448 - 56 - 180

7 - 0:00:04 - 8344 - 2250 - 390

8 - 0:00:04 - 14112 - 4184 - 404

9 - 0:00:05 - 24388 - 10190 - 560

10 - 0:00:03 - 11482 - 4728 - 606

11 - 0:00:04 - 11508 - 4740 - 616

12 - 0:00:04 - 0 - 0 - 0

13 - 0:00:03 - 5936 - 1168 - 180

14 - 0:00:03 - 15036 - 4900 - 662

15 - 0:00:04 - 17640 - 5516 - 366

16 - 0:07:18 - 18284 - 8810 - 572

17 - 0:07:05 - 17752 - 8064 - 436

18 - 0:00:00 - 19966 - 6018 - 384

19 - 0:00:00 - 0 - 0 - 0

20 - 0:00:01 - 19992 - 6016 - 384

21 - 0:00:01 - 336 - 82 - 180

22 - 0:00:00 - 0 - 0 - 0

23 - 0:00:00 - 11228 - 2302 - 444

24 - 0:00:03 - 224 - 64 - 180

25 - 0:00:03 - 7952 - 3510 - 180

26 - 0:00:03 - 8288 - 2058 - 390

27 - 0:02:30 - 11928 - 5292 - 180

28 - 0:00:04 - 19096 - 3964 - 486

29 - 0:00:00 - 1568 - 490 - 180

30 - 0:02:29 - 11452 - 2428 - 444

31- - 0:00:01 - 12656 - 3436 - 504

32 - 0:00:00 - 0 - 0 - 0

33 - 0:00:09 - 336 - 126 - 180

34 - 0:00:08 - 4648 - 1086 - 180

35 - 0:00:07 - 0 - 0 - 0

36 - 0:00:06 - 0 - 0 - 0

37 - 0:00:05 - 336 - 24 - 180

What is a reason of such behaviour of PF?

Where is a bottleneck and how to eliminate influence of bottleneck on execution time of whole data amount?

Your advices

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member93896
Active Contributor
0 Kudos

Hello Dmitry,

take a look at the runtime statistics in transaction BPS_STAT0 (You might have to turn them on and re-run your process). This will show you where the time is spend (database or BPS).

If it's database time, then get your Basis Team involved. Check that DB stats are up-to-date, check that InfoCube requests are rolled-up/compressed, do SQL trace and analyze the DB execution plan, etc.

If it's BPS time, then it's probably something in your exit function. An ABAP trace (SE30) should help to nail down the root cause.

Processing packages is parallel is in general a good way to make it run faster. However, if the packages are too small the overhead will actually reduce performance. I would start with 5 parallel processes.

Regards,

Marc

SAP NetWeaver RIG

Former Member
0 Kudos

Hello, Mark!

Thank a lot for your advices.

I'll walk through proposed actions and will publish results.

Dmitry