on 2016 Sep 21 5:19 AM
Hello All,
One of my BPC logic script is taking more than 6 hrs in prod & 30 mins in QA. To take advantage of parallel processing technique , I imported transport for RUNLOGIC_PH & created new logic script for RUNLOGIC_PH BAdI in which i called my long running script.
Changing Parameter is set only TIME dimension & DIMENSION parameter is scoped with three dimensions ENTITY , TIME & CATEGORY which are passed from DM package.
Number of parallel process are set to 4 both at Model & Environment level.
As soon as i run my DM package for one entity , one category & twelve months , i see one batch job & four dialog process running as expected !!!
But overall run time of RUNLOGIC_PH script is more than 35 mins which more than my long running script with parallel processing.
Anyone knows where parallel processing is going for toss? Why RUNLOGIC_PH with 4 processes is taking more time than single thread script?
Let me know if you need additional information.
With Regards
Abhi
Request clarification before answering.
Hi Abhi,
Can you please attach log of that run? It should show when each process started and when it ended.
Regards,
Gersh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes scripts are indeed complex with multiple BAdI calls. Plus i am not writer of those scripts . I am just try to fine tune it & first thing that came to my mind is to try RUNLOGIC_PH to split processes in parallel.As worst case , we are running original script for each period in parallel. But issue is each DM process consumes , one batch job in NW . Users tend to run 12 jobs at time which consumes significant amount of resources(limited batch jobs) which causes other BPC jobs to go on released state.
Hi Abhi,
It looks like you ran different scripts in RUNLOGIC_PH and as a stand alone script.
First thing I did is looked at RUNLOGIC_PH log. It shows that periods 1 - 4 ran around 1.5 min each. Starting from period 5 each period took around 18.5 min. I don't now if it's because you have much less data in those 4 periods or because some other job started running around 13:51 and slowed this one down.
Second, I can see that all periods 1 - 4 started at exactly same time. This means that you have DEBUG = OFF in your call. Therefore those 4 logs override each other and are not reliable. This is the reason you have 9 logs and not 12. I'd recommend changing it to DEBUG =ON for the time you tune the script. You'll loose only 12 seconds:).
Third, I compared log of stand alone run with your last log RUNLOGIC_PH(9) because first logs are unreliable for the reason stated above. At the beginning everything goes as planned: RUNLOGIC retrieves 8 times less records and it takes less time. No records written back. But next, both retrieve same number of records as before and it takes same time for stand alone process and 7.5 times longer for RUNLOGIC. I'd assume that some other job started running at that time or your server was at capacity. RUNLOGIC also writes 8 times less records in twice more time.
Now BADI ZCALC_LCTOIC is called and it takes stand alone run 1.5 times longer that a single period, but it doesn't write any data back while RUNLOGIC writes 20K records back. That's where you lose 5 min.
Next RUNLOGIC call ZCALCBADI; In stand alone I don't see such call. So, there is no point analyzing it further.
Can you please find out why you have those discrepancies? Then if RUNLOGIC still doesn't run faster please send just log of DM Package, 12 logs for each period and stand alone log.
Regards,
Gersh
Please show your scripts (both)!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 8 | |
| 8 | |
| 6 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.