Download - Tips for Optimimizing WEBI REPORTS
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
1/38
Tips for Optimizing the Performance ofWeb Intelligence Documentscreated byJonathan Brownon Oct 1, 2014 10:49 PM, last modifed byJonathan Brownon May 23, 201 1:41 !M
"ersion 1#
in$hare%0
&i's (or O'timi)in* the Per(ormance o( +eb ntelli*ence -oc.ments
-oc.ment /istory
ntrod.ction
ha'ter 1 lient $ide Per(ormance
&P 11 se /&M nter(ace (or 5aster 6iewin*7re(reshin* o( 8e'orts
&P 12 '*rade to B 41 $P03 (or sin*le J!8 fle !''let nter(ace
&P 13 ns.re Online ertifcate 8e6ocation hec;s aren.eries
&P 49 $ec.rity onsiderations (or the $emantic ayer
ha'ter 5orm.la A alc.lation n*ine &i's
&P 1 se ested $ections with onditions with ca.tion
&P 2 se instead o( 5orach and 5or!ll when 'ossible
&P 3 se 5&/$ instead o( +here o'erator when 'ossible
&P 4 5actori)e C8e.seD "ariables
ha'ter # $i)in* (or Per(ormance
http://scn.sap.com/people/jonathan.brownhttp://scn.sap.com/people/jonathan.brownhttp://scn.sap.com/people/jonathan.brownhttp://scn.sap.com/people/jonathan.brownhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Tips_for_Optimizing_the_Performance_of_Web_Intelligence_Documentshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Document_Historyhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Introductionhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_1__Client_Side_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_11__Use_HTML_Interface_for_Faster_viewingrefreshing_of_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_12__Upgrade_to_BI_41_SP03_for_single_JAR_file_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_13__Ensure_Online_Certificate_Revocation_Checks_arent_slowing_down_your_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_13__Ensure_Online_Certificate_Revocation_Checks_arent_slowing_down_your_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_14__Make_sure_JRE_Client_Side_Caching_is_workinghttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_15__Ensure_you_are_not_running_into_these_known_JRE_Security_Change_issueshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_16__Choose_the_right_client__Webi_Rich_Client_vs_HTML_vs_Applet_Interfaceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_2__Process_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_21__Schedule_reports_to_save_time_and_resourceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_22__Use_the_Retry_options_when_Scheduling_to_Automate_Retrieshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_23__Use_Instance_Limits_to_help_reduce_the__of_Instances_in_your_environmenthttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_24__Platform_Search_Tweaking_for_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_3__Report_Design_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_31__Steer_Clear_of_Monster_Webi_Documentshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_32__Utilize_Report_Linking_Whenever_Possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_33__Avoid_Autofit_When_not_Requiredhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_34__Utilize_Query_Filters_instead_of_Report_Filters_whenever_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_35__Avoid_Charts_with_Many_Data_Pointshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_36__Limit_use_of_Scope_of_Analysishttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_37__Limit_the__of_Data_Providers_Usedhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_38__Dont_accidentally_Disable_the_Report_Cachinghttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_39__Test_Using_Query_Drill_for_Drill_Down_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_310__Mandatory_Prompts_vs_Optional_Prompts_http://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_4__Semantic_Layer_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_41__Only_Merge_Dimensions_that_are_neededhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_42__Build_Universes__Queries_for_the_Business_Needs_of_the_Documenthttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_43__Array_Fetch_Size_Optimizationshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_44__Ensure_Query_Stripping_is_Enabledhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_45__Follow_these_Best_Practices_for_Performance_Optimizing_SAP_BW_BICS_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_45__Follow_these_Best_Practices_for_Performance_Optimizing_SAP_BW_BICS_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_46__Using_IndexAwareness_for_Better_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_47__Using_Aggregate_Awareness_for_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_48__Utilizing_JOIN_BY_SQL_to_avoid_multiple_querieshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_49__Security_Considerations_for_the_Semantic_Layerhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_5__Formula__Calculation_Engine_Tipshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_51__Use_Nested_Sections_with_Conditions_with_cautionhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_52__Use_IN_instead_of_ForEach_and_ForAll_when_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_53__Use_IFTHENELSE_instead_of_Where_operator_when_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_54__Factorize_Reuse_Variableshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_6__Sizing_for_Performancehttp://scn.sap.com/people/jonathan.brownhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Tips_for_Optimizing_the_Performance_of_Web_Intelligence_Documentshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Document_Historyhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Introductionhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_1__Client_Side_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_11__Use_HTML_Interface_for_Faster_viewingrefreshing_of_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_12__Upgrade_to_BI_41_SP03_for_single_JAR_file_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_13__Ensure_Online_Certificate_Revocation_Checks_arent_slowing_down_your_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_13__Ensure_Online_Certificate_Revocation_Checks_arent_slowing_down_your_Applet_Interfacehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_14__Make_sure_JRE_Client_Side_Caching_is_workinghttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_15__Ensure_you_are_not_running_into_these_known_JRE_Security_Change_issueshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_16__Choose_the_right_client__Webi_Rich_Client_vs_HTML_vs_Applet_Interfaceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_2__Process_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_21__Schedule_reports_to_save_time_and_resourceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_22__Use_the_Retry_options_when_Scheduling_to_Automate_Retrieshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_23__Use_Instance_Limits_to_help_reduce_the__of_Instances_in_your_environmenthttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_24__Platform_Search_Tweaking_for_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_3__Report_Design_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_31__Steer_Clear_of_Monster_Webi_Documentshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_32__Utilize_Report_Linking_Whenever_Possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_33__Avoid_Autofit_When_not_Requiredhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_34__Utilize_Query_Filters_instead_of_Report_Filters_whenever_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_35__Avoid_Charts_with_Many_Data_Pointshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_36__Limit_use_of_Scope_of_Analysishttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_37__Limit_the__of_Data_Providers_Usedhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_38__Dont_accidentally_Disable_the_Report_Cachinghttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_39__Test_Using_Query_Drill_for_Drill_Down_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_310__Mandatory_Prompts_vs_Optional_Prompts_http://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_4__Semantic_Layer_Best_Practiceshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_41__Only_Merge_Dimensions_that_are_neededhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_42__Build_Universes__Queries_for_the_Business_Needs_of_the_Documenthttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_43__Array_Fetch_Size_Optimizationshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_44__Ensure_Query_Stripping_is_Enabledhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_45__Follow_these_Best_Practices_for_Performance_Optimizing_SAP_BW_BICS_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_45__Follow_these_Best_Practices_for_Performance_Optimizing_SAP_BW_BICS_Reportshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_46__Using_IndexAwareness_for_Better_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_47__Using_Aggregate_Awareness_for_Performancehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_48__Utilizing_JOIN_BY_SQL_to_avoid_multiple_querieshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_49__Security_Considerations_for_the_Semantic_Layerhttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_5__Formula__Calculation_Engine_Tipshttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_51__Use_Nested_Sections_with_Conditions_with_cautionhttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_52__Use_IN_instead_of_ForEach_and_ForAll_when_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_53__Use_IFTHENELSE_instead_of_Where_operator_when_possiblehttp://scn.sap.com/docs/DOC-58571#jive_content_id_TIP_54__Factorize_Reuse_Variableshttp://scn.sap.com/docs/DOC-58571#jive_content_id_Chapter_6__Sizing_for_Performancehttp://scn.sap.com/people/jonathan.brown -
7/25/2019 Tips for Optimimizing WEBI REPORTS
2/38
&P #1 se these 8eso.rces to /el' yo. $i)e yo.r n6ironment
&P #3 ns.re the !da'ti6e Processin* $er6er is $'lit and $i)ed orrectly
&P #4 Hee' ocation and etwor; in mind when -esi*nin* yo.r n6ironment
&P # se ocal, 5ast $tora*e (or ache and &em' -irectories
&P ## ns.re yo.r P $'eed is !de>.ate
&P #% se the B Plat(orm $.''ort &ool (or $i)in* 8e6iews
ha'ter % !rchitect.ral -iIerences between 31 A B 4E &P %1 32bit 6s #4bit +hat does it meanK
&P %2 /osted $er6ices are more hea6ily .sed in B 4E
&P %3 ar*er = o( Processes in6ol6ed in Process +or;Lows
ha'ter @ Per(ormance Based m'ro6ements 7 nhancements
Tips for Optimizing the Performance of WebIntelligence Documents
DRAFT DISCLAI!R&his doc.ment is a wor; in 'ro*ress and will be released 1 cha'ter at a time Please
(ollow, boo;mar; and s.bscribe to .'dates to ens.re yo. are notifed o( the latest chan*es t is also a li6in*
doc.ment and we wo.ld lo6e to hear yo.r (eedbac; and ti's A tric;s omment or 'ri6ate messa*e
anythin* yo. wo.ld li;e to see added, chan*ed or remo6ed
Document "istor#
Date Who What
10012014
JonathanBrown
reated nitial -oc.ment $tr.ct.re and om'leted ha'ter 1 lient $idePer(ormance
10022014
JonathanBrown Made some minor .'dates to the (ormattin* and some lin;s
100@
2014
Jonathan
Brown
$tarted on ha'ter 2 Process Best Practices $tarted on ha'ter 2 Process
Best Practices10092014
JonathanBrown 5inished ha'ter 2 5iEed some (ormattin* iss.es
1012014
JonathanBrown
'dated ntrod.ction to disc.ss o6erla' with $-Ohtt':77scnsa'com7docs7-O@32
101%2014
JonathanBrown $tarted ha'ter 3 &P$ 31 34 !dded
10222014
JonathanBrown !dded &i's 3 and 3#
10242014
JonathanBrown !dded &i's 3% 39 to com'lete ha'ter 3
10312014
JonathanBrown $tarted ha'ter 4
110%2014 JonathanBrown om'leted ha'ter 4 and P.blished the latest 6ersion o( -oc
11142014
JonathanBrown om'leted ha'ter
12012014
JonathanBrown
Modifed list o( (.nctions that can t.rn oI cachin* as 'er Matthew $haw
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
3/38
Date Who What
121@2014
JonathanBrown !dded in; to &ed eda
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
4/38
-oc.ments $ince it is a thin client a''lication that re>.ires little more than dis'layin* and cons.min*
/&M, it is a *reat choice (or those .sers that want (ast doc.ment 6iewin* and re(reshin* in their browser
&he /&M nter(ace does ha6e a (ew less (eat.res in com'arison with the !''let nter(ace and yo. will ha6e
to wei*h the benefts o( 'er(ormance 6s (.nctionality
Chapter (.4o( the Webi 2ser 5ui,eco6ers the diIerences between the /&M, !''let and 8ich lientnter(aces 8e6iew this to hel' yo. ma;e a decision whether or not the /&M nter(ace will do e6erythin* yo.
need it to do
/ere is a screenshot eEam'le o( what the (eat.re com'arison matriE loo;s li;e in the .ser *.ide
Below is a lin; to o.r +eb ntelli*ence doc.mentation 'a*e on o.r $.''ort Portal o to the !n, 2ser
5ui,essection to fnd the latest +ebi ser .ide doc.mentation
PORTAL & SAP *usinessOb6ects Web Intelligence 4.( 7 SAP "elp Portal Page
/ere is also a direct lin; to the B 41 $P04 Cmost c.rrent at time o( this writin*D
52ID! & *I 4.( SP$4 Web Intelligence 2ser 5ui,e & Direct Lin1
TIP (.' & 2pgra,e to *I 4.( SP$-8 for single )AR 9le Applet Interface
B 4E introd.ced a new architect.re (or the !''let nter(ace, a;a Ja6a 8e'ort Panel7Ja6a "iewer Pre6io.s
6ersions were a sin*le J!8 fle called ThinCadenza.jar
B 40 and earlier 6ersions o( B 41 s'lit this architect.re o.t into o6er #0 Nar fles &his was done (or ease o(
maintenance and de'loyment ori*inally b.t Ja6a .'dates later made this architect.re more c.mbersome
Ja6a sec.rity .'dates and restrictions that are now en(orced by de(a.lt ha6e made the 'er(ormance o( this
new architect.re too slow in many cases
BI 4.1 SP03 and aboveha6e re6erted bac; to a sin*le Nar fle de'loyment &his will o(ten im'ro6e
'er(ormance on the client side d.e to a red.ced n.mber o( sec.rity and 6alidation chec;s that ha6e to
ha''en on each Nar fle
&he below +hat
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
5/38
.ate to se6eral min.tes o( delays
tal; abo.t this in m.ch more detail in the (ollowin* +i;i and HB!:
WI.e and dynamic sers
(older, the cache may not be 'ersistent across sessions $ettin* the cache to a common location that can be'ersistent across sessions may hel' in this ty'e o( scenario
+e co6er a lot more on how to enable and 6alidate J8 cache in my +i;i below
WI
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
6/38
$!P only releases Patches7$.''ort Pac;s e6ery (ew months so when Oracle sec.rity chan*es come into 'lay,
there can sometimes be a bit o( a delay be(ore we can ha6e a 'atch o.t to resol6e7address the chan*e
Hee' this in mind when '.shin* the latest and *reatest Oracle J8 .'dates o.t to yo.r clients
TIP (.B & Choose the right client & Webi Rich Client /s "TL /s Applet
Interfaces
ach o( the nter(aces has a list o( 'ros and cons hoosin* the ri*ht client inter(ace (or +eb ntelli*ence is
abo.t stri;in* a balance between (.nctionality, 'er(ormance and con6enience
ha'ter 14 o( the +ebi ser .ide co6ers the diIerences between the inter(aces 8eadin* and
.nderstandin* this sho.ld hel' yo. decide which inter(ace to .se t
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
7/38
+hen we tal; abo.t Process Best Practices, we are really tal;in* abo.t the wor;Lows aro.nd how we .tili)e
+eb ntelli*ence re'orts in o.r B.siness Processes
&his cha'ter will co6er a n.mber o( Best Practices that will allow yo. to b.ild *ood b.siness 'rocesses or
wor;Lows aro.nd yo.r +eb ntelli*ence doc.ments
et.est a*ain &his essentially creates a new re>.est
(or the same data and 'otentially wor;s a*ainst BO&/ re>.ests as they com'ete (or reso.rces on the B
ser6ers and the database side
!(ter a (ew more min.tes, ser! *i6es .' and mo6es on Meanwhile he has no idea the amo.nt o(
reso.rces and time he
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
8/38
Both o( these co.ld ha6e been a6oided by b.ildin* 'rocesses aro.nd 'ro'er .se o( sched.lin*
/ere are some ti's on how to best .tili)e sched.lin*:
1 d.cate yo.r .sers to sched.le anythin* that ta;es o6er min.tes to r.n
2 nco.ra*e .sers to $ched.le re'orts that they ;now they will need thro.*ho.t the day to non'ea;
ho.rs be(ore their day be*ins
3 $ched.le -oc.ments to (ormats that yo. ;now yo.r end .sers will want s.ch as Ecel, &eEt, or P-5
&his can sa6e time and reso.rces d.rin* the day
4 tili)e P.blications when m.lti'le .sers ha6e diIerent re>.irements (or the same doc.ments
5or more in(ormation on $ched.lin* ObNects and P.blications, see the below lin;s
DOC *I 4.( SP4 *I Launchpa, 2ser 5ui,e& Chapter 0 & Sche,uling Ob6ects
.
DOC & *I 4.( SP4 *I Launchpa, 2ser 5ui,e& Chapter ($&(( & Publications
TIP '.' & 2se the Retr# options +hen Sche,uling to Automate Retries
!ltho.*h this isn
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
9/38
+here this ti' DO!S sa/e #ou timeis in h.ntin* down and man.ally resched.lin* re'orts that may ha6e
(ailed d.e to database iss.es or reso.rce iss.es on the B Plat(orm side ntermittent (ail.res are .s.ally tied
to reso.rces somewhere in the 'rocess Low so sim'ly settin* .' retries a (ew min.tes a'art can hel' in
limitin* the n.mber o( tr.e (ail.res we see in a b.sy en6ironment
&his o'tion can be set in the Default Settings3Recurrencesection o( the $ched.le -ialo* or .ndertheSche,ule3Recurrencesection &he diIerence between the two is that the Default Settingso'tion will
set the de(a.lt retry 6al.es (or any (.t.re sched.les $ettin* it .nder the Sche,ule section only sets it (or
that 'artic.lar sched.le
;OT!E t is im'ortant to note that this o'tion is only a6ailable in the M and not thro.*h B a.nch'ad
c.rrently
TIP '.- & 2se Instance Limits to help re,uce the of Instances in #ouren/ironment
&his is another little ;nown (eat.re that yo. can .se to hel' im'ro6e the 'er(ormance o( yo.r system &he
(eat.re is called nstance imits and yo. can set it on a 5older or ObNect e6el
&he basic conce't is that yo. can set limits on the = o( instances a (older or obNect will ;ee' ( the limit is
eEceeded, the M$ will clean .' the oldest instances to hel' red.ce the amo.nt o( metadata and reso.rces
that is stored in the M$ database and on the 5ilestore dis;
/ere are the basic instr.ctions on how to enable and set limits, as (o.nd in the M /el' *.ide:
$ettin* limits enables yo. to a.tomatically delete re'ort instances in the B 'lat(orm &he limits yo. set on a
(older aIect all obNects in the (older
!t the (older le6el, yo. can set limits (or:
&he n.mber o( instances (or each obNect, .ser, or .ser *ro.'
&he n.mber o( days that instances are retained (or a .ser or a *ro.'
Steps to enable Instance Limits in the CC
1 o to the Fol,ersmana*ement area o( the CC
2 ocate and select the (older (or which to set limits, and select Actions3Limits
3 n the Limitsdialo* boE, select the Delete eGcess instances +hen there are more than ;
instances of an ob6ectchec; boE, and enter the maEim.m n.mber o( instances 'er obNect the (older can
contain be(ore instances are deleted in the boE &he de(a.lt 6al.e is 100
4 lic; 2p,ate
&o limit the n.mber o( instances 'er .ser or *ro.', lic; the A,,b.tton beside Delete eGcess
instances for the follo+ing users3groups o'tion
# $elect a .ser or a *ro.', clic;Hto add the .ser or *ro.' to the Selecte, users3groups list, and
clic; O
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
10/38
11 lic; 2p,ate
Below is a screenshot o( the dialo* (or yo.r re(erence
Once yo. ha6e enabled nstance imits, yo. will ha6e better control o6er the si)e o( yo.r M$ and
n'.t7O.t'.t 58$ ! bloated M$ database and 5ilestore can defnitely contrib.te to a slower r.nnin* B
system in *eneral so ha6in* a handle on this can defnitely hel' ;ee' yo.r system r.nnin* at to' s'eed
TIP '.4 & Platform Search T+ea1ing for Performance
/a6e yo. e6er seen a b.nch o( reso.rces CP78!MD bein* .sed on yo.r B Plat(orm ser6er witho.t any .ser
acti6ityK ( yo. ha6e, this is most li;ely the ontin.o.s rawl (eat.re o( Plat(orm $earch doin* a whole lot o(
indeEin*
What is Platform Search?
.
Plat(orm $earch enables yo. to search content within the B 'lat(orm re'ository t refnes the search res.lts
by *ro.'in* them into cate*ories and ran;in* them in order o( their rele6ance
&here is no do.bt that Plat(orm $earch is a *reat (eat.re t is N.st a (actor that needs to be ta;en into
consideration when si)in* an en6ironment (or Per(ormance
&he below !dministrators *.ide tal;s abo.t this (eat.re and how to conf*.re it:
DOC *I Platform A,ministrators 5ui,e @*I 4.( SP4& Chapter '' & Platform Search
..
+hen B 40 frst came o.t, s.''ort saw a lot o( instances where c.stomers were seein* 'er(ormance
de*radation and reso.rce iss.es on their systemAFTERmi*ratin* the b.l; o( their content o6er to the newB 40 system
!(ter an eEtensi6e in6esti*ation, we disco6ered that in most o( these cases, the iss.e was the ndeEin* o(
this new content that was added to the ser6er
$o how does this aIect 'er(ormanceK /ow can addin* new content to a B 4E system ca.se Processin*
$er6ers and other reso.rces to s'i;e .'K
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_bip_admin_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
11/38
Behind the scenes, the Plat(orm $earch a''lication detects that there is new content that needs to be
indeEed and catalo*ed &his means that (or e6ery new obNect C+ebi -oc, ni6erse, rystal 8e'ort, etcD
needs to be analy)ed, catalo*ed and indeEed by the $earch $er6ice &o do this, &he Plat(orm $earch $er6ice,
(o.nd on an !da'ti6e Processin* $er6er, will .tili)e Processin* $er6ers C+ebi, rystal, tcD to read the
8e'ort contents and *enerate an indeE that it can .se to ma' search terms to the content 8eally cool
(.nctionality, b.t with lar*e doc.ments with lots o( data, obNects, ;eywords, etc this can add a lot o(
o6erhead to the system s'ecially i( a lot o( new obNects are added at once
By de(a.lt the indeEer is conf*.red to Continuously Cralthe system and indeE the !etadatao( the
obNects ( yo. fnd this is ta;in* .' a lot o( reso.rces on yo.r system then yo. may want to .se the
$ched.le o'tion to control when it r.ns 8.nnin* indeEin* o.tside o( re*.lar b.siness ho.rs or 'ea; times
wo.ld 'ro6ide yo. with the best 'er(ormance
.c;ily we can confgure the requency and verbosity level used by the Indexer &hese o'tions are disc.ssed
inChapter ''o( the A,ministrators gui,eabo6e
n short,be sure to ee! Plator" Search on your radar in case you have unex!lained resource consu"!tion
on your server
ore InfoE
.
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
12/38
1 +hat is the 'rimary '.r'ose o( this doc.mentK
2 +hat >.estionCsD does this doc.ment ha6e to answerK
3 /ow many diIerent cons.mers will be .tili)in* this doc.mentK
4 an this doc.ment be s'lit into m.lti'le doc.ments that ser6ice smaller, more s'ecifc needsK
By as;in* >.estions li;e the abo6e, we are drillin* in on what the act.al needs are and can .se the answersto these >.estions to hel' eliminate waste ( we b.ild a Monster -oc.ment that acco.nts (or e6ery 'ossible
scenario that a cons.mer may want to loo; at, then we are 'otentially wastin* a lot o( time (or both the
doc.ment desi*ner and the cons.mer 5or eEam'le, i( only 1020R o( a lar*e doc.ment is act.ally .tili)ed
by the cons.mer on a re*.lar basis, then that means @090R o( the doc.ment is waste
Once we ;now the B.siness eeds o( the cons.mer, we can desi*n a (oc.sed doc.ment that eliminates
m.ch o( the waste
Below are a (ew recommended best 'ractices to ;ee' in mind when b.ildin* a doc.ment:
1 A'oid usin$ a lar$e num(er of Re"orts )ta(s* ithin a #ocument
i 10 or less 8e'orts is a reasonable n.mber
ii Eceedin* 20 re'orts in a sin*le doc.ment sho.ld be a6oided
2 Creatin$ smaller documents for s"eci+c (usiness needs allos for faster runtime and
analysis
i tili)e 8e'ort lin;in* to Noin smaller doc.ments to*ether &his is disc.ssed more in &P 32
ii !im to satis(y only 12 b.siness needs 'er doc.ment
3 Pro'ide only the data re,uired for the (usiness need)s* of the #ocument
i 0000 rows o( data 'er doc.ment is a reasonable n.mber
ii -o not eEceed 00000 rows o( data 'er doc.ment
4 #o not add additional #ata Pro'iders if not needed or (eyond document needs
i data 'ro6iders is a reasonable n.mber
ii -o not Eceed 1 data 'ro6iders 'er doc.ment
&here o( co.rse will be eEce'tions to the abo6e recommendations b.t .r*e yo. to in6esti*ate other ways o(
desi*nin* yo.r doc.ments i( yo. fnd yo.r doc.ment is *rowin* too lar*e
Go. will see the (ollowin* benefts by creatin* smaller, re.sable doc.ments based only on the b.siness needs
o( the cons.mers
Reduce the time it ta&es to load the document initially in the 'ieer-interface
o $maller doc.ments will load >.ic;er in the 6iewers &his is beca.se the reso.rces needed to
trans(er the doc.ment and 'rocess it initially will be m.ch less with smaller doc.ments
Reduce the refresh time of the document
o &he lar*er the doc.ment, the more time it will ta;e to 'rocess the doc.ment d.rin* a
re(resh Once the re'ort en*ine recei6es the data (rom the data 'ro6iders, it has to render the re'ort and
'er(orm com'leE calc.lations based on the doc.ment desi*n ar*er doc.ments with many 6ariables and
lar*e amo.nts o( data can ta;e m.ch lon*er to render d.rin* a re(resh
Reduce the system resources needed on the (oth the client side and the ser'er side
o &he reso.rces needed to wor; with a lar*e doc.ment are *oin* to be m.ch *reater than
those needed (or smaller doc.ments By red.cin* the si)e o( yo.r doc.ments, yo. are 'otentially red.cin*
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
13/38
the o6erall system reso.rces, s.ch as P, 8!M, -is; s'ace, that yo.r system will cons.me on a6era*e &his
can e>.ate to better thro.*h'.t on yo.r eEistin* hardware
m"ro'e "erformance hile modifyin$ the document
o +hen modi(yin* a lar*e doc.ment, the client and ser6er has to load the doc.ment str.ct.re
and data into memory !s yo. add7chan*e7mo6e obNects in the re'orts, this ca.ses client7ser6er
comm.nication to occ.r &his can slow down the desi*ner as .'dates re>.ire re'rocessin* on any obNects
in6ol6ed &he more obNects in a doc.ment, the lon*er each o'eration d.rin* a modi(y action can ta;e
m"ro'e "erformance for the consumer durin$ adhoc ,uery and analysis
o $licin*, dicin*, flterin* and drillin* actions will 'er(orm >.ic;er on smaller doc.ments as
well &his will e>.ate to (aster res'onse times to the cons.mers as they na6i*ate and do detailed analysis
on the doc.ments
TIP -.' & 2tilize Report Lin1ing Whene/er Possible
8e'ort in;in* is a *reat way to relate two doc.ments to*ether &his can be an alternati6e to drillin* down
and allows the re'ort desi*ner better control o6er the si)e and 'er(ormance o( their doc.ments 8e'ort
in;in* can be .sed to hel' red.ce the si)e o( sin*le doc.ments by allowin* the desi*ner to brea; o.tdoc.ments into smaller ch.n;s while still allowin* them to be related to each other &his com'liments the
recommendation to steer clear o( Monster -oc.ments 6ery nicely
&he conce't o( 8e'ort in;in* is sim'le Go. basically embed a hy'erlin; into a doc.ment that calls another
doc.ment &his hy'erlin; can .se data (rom the so.rce re'ort to 'ro6ide 'rom't 6al.es to the destination
re'ort Below is an eEam'le that eE'lains the conce't
$alesF$.mmary is a s.mmary re'ort that s.mmari)es the sales (or all 100 sites o( om'any GS nc
$alesF$.mmary has a hy'erlin; that allows a .ser to drill into a 2nd 8e'ort C$alesF-etailsD to *et
the sales details on any o( the 100 sites
$alesF$.mmary is sched.led to r.n each ni*ht and ta;e T20 min.tes to com'lete
sers can 6iew the latest instance o( $alesF$.mmary which ta;es only a (ew seconds to load
sers can drill down into $ite $ales data (or each o( the 100 sites which la.nches $alesF-etails
re'ort .sin* 8e'ort in;in* and a 'rom't 6al.e
&he 'rom't 6al.e flters the $alesF-etails re'ort .sin* a ?.ery 5ilter so that it only dis'lays the
sales details (or the 1 site that the .ser drilled into
n the abo6e scenario, we see many benefts
1 &he $alesF$.mmary re'ort only contains the $.mmary details &here(ore it r.ns (aster than i( it
contained both s.mmary and detailed data
2 &he $alesF$.mmary re'ort is smaller and will load7na6i*ate m.ch >.ic;er on its own
3 &he ser can drill down and *et a m.ch (aster res'onse time beca.se the details re'ort onlycontains the s'ecifc data that they are interested in
&he Web Intelligence 2ser 5ui,eco6ers this in more details in Section %.(.- & Lin1ing to another
,ocument in the CS
DOC Web Intelligence 2ser 5ui,e & *I 4.( SP$4 Direct Lin1 & Chapter % & Section %.(.-
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
14/38
&he easiest way to *enerate these /y'erlin;s is .sin* the /y'erlin; +i)ard &his +i)ard is c.rrently only
a6ailable in the /&M nter(ace 5or man.al creation o( the hy'erlin;s, yo. will want to (ollow the
O'en-oc.ment *.idelines a6ailable in the below lin;:
DOC Kie+ing Documents 2sing OpenDocument
/ere is a screenshot o( the +i)ard and where the b.tton is on the toolbar t can be a little tric;y to fnd i(yo. ha6en.ests
+hen conf*.rin* a hy'erlin; .sin* O'en-oc.ment or the /&M /y'erlin; +i)ard, yo. can choose whether
or not yo. want the re'ort to re(resh on o'en, or to o'en the latest instance O.r recommendation is to .se
atest nstance whene6er 'ossible &his allows yo. to sched.le the load on yo.r database and bac;end
'rocessin* ser6er and will red.ce the time it ta;es (or the cons.mer to *et their re'orts
TIP -.- & A/oi, Auto9t When not Reuire,
&he !.toft (.nctionality allows yo. to set a cell, table, crosstab or chart to be resi)ed a.tomatically based
on the data ! cell (or eEam'le, has the o'tion to !.toft the /ei*ht and +idth o( the cell based on the data
si)e &he below screenshot shows this (eat.re in the !''let nter(ace (or a cell
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_opendocument_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_opendocument_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
15/38
&his is a *reat (eat.re (or the 'resentation o( the re'ort b.t it can ca.se some 'er(ormance delays when
na6i*atin* thro.*h 'a*es or *eneratin* a com'lete doc.ment
;OT!E &he de(a.lt settin* (or a cell is to enable the !.toft hei*ht o'tion &his co.ld im'act the
'er(ormance o( yo.r re'orts so it is im'ortant to no how this can aIect 'er(ormance
/o does this a0ect "erformance of the re"ort?
+hen a.toft is enabled (or obNects on a re'ort, the Processin* $er6er has to e6al.ate the data .sed in e6ery
instance o( that obNect in order to determine the si)e o( the obNect &his means that in order to s;i' to a
'artic.lar 'a*e o( the re'ort, the 'rocessin* ser6er wo.ld need to calc.late the si)e (or e6ery obNect that
comes be(ore that 'a*e 5or eEam'le, i( ha6e 100,000 rows o( data in my re'ort and na6i*ate to 'a*e1000, then the 'rocessin* ser6er has to *enerate all o( the 'a*es leadin* .' to 'a*e 1000 be(ore it can
dis'lay that 'a*e &his is beca.se the si)e o( the obNects on each 'a*e is dynamically lin;ed to the rows o(
data so it is im'ossible to determine what rows will be on 'a*e 1000 witho.t frst calc.latin* the si)e o( the
obNects (or each 'a*e 'recedin* it
n short, this o'tion adds a lot more wor; to the 'a*e *eneration 'iece o( the re'ort renderin* 'rocess !
fEed si)e (or hei*ht and width allows the 'rocessin* ser6er to determine how many obNects ft on each 'a*e
and allows it to s;i' the *eneration 'rocess (or 'a*es that are not re>.ested
5or another eEam'le: i( ha6e 100,000 rows and ha6e set my obNects to fEed width7hei*ht, then the
'rocessin* ser6er ;nows that 0 rows will ft on each and e6ery 'a*e ( re>.est 'a*e 1000, it will ;now
that the rows on that 'a*e will be rows 0,000 to 0,00 t can then dis'lay that 'a*e with N.st those rowsin it +ay >.ic;er than ha6in* to *enerate 999 'a*es frst
!s yo. can ima*ine, this mostly N.st aIects re'orts that ha6e many rows o( data and ha6e many 'a*es (
yo. ha6e a re'ort with only a (ew 'a*es, it 'robably isn
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
16/38
TIP -.4 & 2tilize uer# Filters instea, of Report Filters +hene/er possible
! ?.ery 5ilter is a flter that is added to the $? $tatement (or a re'ort ?.ery 5ilters limit the data that is
ret.rned by the -atabase ser6er itsel( by addin* to the +/8 cla.se o( the $? $tatement
! 8e'ort 5ilter is a flter that is a''lied at the 8e'ort e6el and is only .sed to limit the data dis'layed on the
re'ort itsel( !ll o( the data (etched (rom the -atabase is still a6ailable behind the scenes, b.t the re'ort
itsel( is only showin* what is not fltered o.t
&here is a time and a 'lace (or both ?.ery 5ilters and 8e'ort 5ilters b.t .nderstandin* the diIerences
between them is a *ood way to ens.re that yo. are not ca.sin* .nnecessary delays in yo.r re'ort renderin*
and re(reshin* t is best to 'redesi*n ?.ery 5ilters in yo.r $emantic ayer desi*n b.t yo. can also add them
man.ally .sin* the ?.ery Panel within +eb ntelli*ence itsel(
/ere is a screenshot o( a Predefned 5ilter bein* added to a ?.ery in ?.ery Panel
!nd here is an eEam'le o( a similar ?.ery 5ilter bein* added man.ally
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
17/38
n both o( the abo6e cases, the +/8 cla.se o( the $? $tatement will be .'dated to red.ce the data
ret.rned to the re'ort to flter based on the year
!lternati6ely, here is a screenshot o( a 8e'ort 5ilter that does somethin* similar
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
18/38
n this 8e'ort 5ilter eEam'le, the dis'lay data is bein* fltered to the selected year b.t the data contained in
the c.be itsel( still contains ! years &his can aIect 'er(ormance so be s.re to .se ?.ery 5ilters to limit
the data whene6er 'ossible &here is o( co.rse scenarios where 8e'ort 5ilters are the better choice (or
slicin* and dicin*, b.t it is N.st somethin* to ;ee' in mind when desi*nin* re'orts (or 'er(ormance
TIP -.% & A/oi, Charts +ith an# Data Points
B 40 introd.ced a new chartin* en*ine that is called ommon "is.ali)ation ObNect Model, or "OM (or
short &his is a 6ersatile $-H that 'ro6ides enhanced chartin* ca'abilities to +eb ntelli*ence and other $!P
Prod.cts +eb ntelli*ence .tili)es "OM (or creatin* the charts and 6is.ali)ations (o.nd within the +eb
ntelli*ence 'rod.ct &he "OM ser6ice is hosted on an !da'ti6e Process $er6er C!P$D and is re(erred to as
the "is.ali)ation $er6ice
O.t o( the boE, this ser6ice is already added to the de(a.lt !P$ b.t de'endin* on the .sa*e o( 6is.ali)ations
in yo.r de'loyment, yo. will li;ely want to s'lit o.t the !P$ ser6ices accordin* to the $ystem onf*.ration
+i)ard or !P$ $'littin* .idelines
( we clic; the !,it Common Ser/iceso'tion on the ri*htclic; men. o( the !P$ in the M, we will see it
listed as the (ollowin*:
&he reason this is rele6ant (or 'er(ormance is this ser6ice can become a bottlenec; in sit.ations where the
*eneration o( charts ta;es a lon* time d.e to reso.rce or si)in* iss.es t is im'ortant to ens.re yo. are
si)ed correctly with this ser6ice to ens.re it doesn.ire this still b.t whene6er
'ossible, the recommendation is a smaller n.mber (or better 'er(ormance
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
19/38
DOC & Webi 2ser 5ui,e & Chapter 4.- & ,iscusses Charting +ith Web Intelligence
TIP -.B & Limit use of Scope of Anal#sis
!s >.oted (rom the +ebi ser .ide:
#$he sco!e o analysis or a query is extra data that you can retrieve ro" the database that is available to
o%er "ore details on the results returned.
$his extra data does not a!!ear in the initial result re!ort& but it re"ains available in the data cube& and you
can !ull this data into the re!ort to allo' you to access "ore details at any ti"e. $his !rocess o refning the
data to lo'er levels o detail is called drilling do'n on an ob(ect.
In the universe& the sco!e o analysis corres!onds to the hierarchical levels belo' the ob(ect selected or a
query. )or exa"!le& a sco!e o analysis o one level do'n or the ob(ect *ear& 'ould include the ob(ect
+uarter& 'hich a!!ears i""ediately under *ear.
*ou can set this level 'hen you build a query. It allo's ob(ects lo'er do'n the hierarchy to be included in the
query& 'ithout the" a!!earing in the ,esult -b(ects !ane. $he hierarchies in a universe allo' you to choose
your sco!e o analysis& and corres!ondingly the level o drill available. *ou can also create a custo" sco!e o
analysis by selecting s!ecifc di"ensions to be included in the sco!e.
Sco!e o nalysis is a great 'ay to !rovide drill do'n ca!abilities and #!reload# the data cube 'ith the data
needed or drilling in on di"ensions. /here this can i"!act !eror"ance is 'ith those extra ob(ects being
added to the S+ state"ent behind the scenes. It is i"!ortant to note that by adding ob(ects to the sco!e o
analysis& you are essentially adding the" to the query that 'ill be run against the database. $his can i"!act
the runti"e o the query to be sure to "ae this decision consciously.#
.
!s an alternati6e to $co'e o( !nalysis, 8e'ort in;in* can be .tili)ed to achie6e an ondemand ty'e o(
drilldown &his can oQoad the 'er(ormance hit to only the times where this eEtra data is re>.ired $ince
some re'ort cons.mers may not drill down on the eEtra data (etched, it may ma;e sense to eEcl.de it by
de(a.lt and 'ro6ide O'en-oc.ment hy'erlin;s Cre'ort lin;in*D to the cons.mers to drill down on the data as
needed
Below is a eEam'le o( .sin* $co'e o( !nalysis to add ?.arter, Month and +ee; in the sco'e e6en tho.*h the
8es.lt ObNects only incl.de Gear:
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
20/38
+hat this essentially does is modifes the >.ery to incl.de ?.arter, Month and +ee; in it &his o( co.rse
wo.ld ret.rn more data and co.ld ta;e lon*er to ret.rn
n short, yo. sho.ld ens.re that $co'e o( !nalysis is .sed conscio.sly and that the maNority o( re'ort
cons.mers will beneft (rom it !n alternati6e is 8e'ort in;in* as disc.ssed abo6e
TIP -.0 & Limit the of Data Pro/i,ers 2se,
Best 'ractices (rom the feld is to limit the = o( data 'ro6iders to 1 or less (or (aster 'er(ormin* re'orts (
yo. ha6e a need (or more than 1 data 'ro6iders, then yo. may want to consider a diIerent way o(
combinin* yo.r data in a sin*le so.rce sin* a 'ro'er & &ool and -ata +areho.se is a better way to
achie6e this and '.shes the consolidation o( data to a data wareho.se ser6er instead o( the B $er6er or
lient machine
&he c.rrent desi*n o( the +ebi Processin* $er6er is to r.n -ata Pro6iders in series &his means that each
data 'ro6ider is r.n one a(ter another and not in 'arallel as yo. mi*ht eE'ect $o, the combined total
r.ntime o( ! o( yo.r data 'ro6iders is how lon* the re'ort will ta;e to *et the data
/ere is a re'resentation o( the combined time it mi*ht ta;e (or a re'ort with m.lti'le data 'ro6iders:
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
21/38
!nother consideration (or re'orts with a lot o( data 'ro6iders is that mer*in* dimensions between m.lti'le
so.rces adds o6erhead into the 'rocessin* time Hee'in* it sim'le will certainly res.lt in a better 'er(ormin*
re'ort
TIP -.? & Don:t acci,entall# Disable the Report Caching
+eb ntelli*ence .tili)es dis; and memory cachin* to im'ro6e the 'er(ormance o( loadin* and 'rocessin*
doc.ments A .ni6erses &his can 'ro6ide a (aster initial load time (or common re'orts and .ni6erses when
im'lemented correctly
&he *ood news is that cachin* is enabled by de(a.lt so in most cases this will be ha''enin* a.tomatically (or
yo. and yo.r .sers behind the scenes &here are a (ew sit.ations where cache cannot be .sed tho.*h so we
wanted to ma;e s.re re'ort desi*ners were aware o( these:
&he (ollowin* (.nctions will (orce a doc.ment to by'ass the cache:
Current#ate)*CurrentTime)*
Current1ser)*
2et#ominantPreferred3iein$4ocale)*
2etPreferred3iein$4ocale)*
2et4ocale)*
2etContent4ocale)*
( yo. .se these within yo.r doc.ment, then cache will not be .tili)ed &hese (.nctions are >.ite common so
it is im'ortant to be aware o( the 'otential im'act on cachin* they can ha6e
!t the c.rrent time, cachin* is done at a doc.ment le6el and not an indi6id.al 8e'ort CtabD le6el &here(ore,
i( these (.nctions are .sed anywhere in the doc.ment, the cached co'ies will not be .sed (or s.bse>.ent
re>.ests
TIP -.= & Test 2sing uer# Drill for Drill Do+n Reports
+hat is ?.ery -rillK !s >.oted (rom the Web Intelligence 2ser 5ui,e:
#/hen you activate query drill& you drill by "odiying the underlying query adding and re"oving
di"ensions and query flters2 in addition to a!!lying drill flters.
*ou use query drill 'hen your re!ort contains aggregate "easures calculated at the database level. It is
designed in !articular to !rovide a drill "ode ada!ted to databases such as -racle i -P& 'hich contain
aggregate unctions 'hich are not su!!orted in /eb Intelligence& or 'hich cannot be accurately calculated
in the re!ort during a drill session.
+uery drill is also useul or reducing the a"ount o data stored locally during a drill session. Because query
drill reduces the sco!e o analysis 'hen you drill u!& it !urges unnecessary data.#
Per(ormance *ains can be a''reciated by red.cin* the amo.nt o( data that a +ebi doc.ment stores locally
and by '.shin* some o( the a**re*ation to the database ser6er side
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_webi_user_guide_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
22/38
Per(ormance *ains may or may not be reali)ed by .sin* this o'tion b.t it is sim'le eno.*h to test it o.t to
see i( it will im'ro6e 'er(ormance (or yo. &o enable this o'tion, *o into the -oc.ment Pro'erties and chec;
the se ?.ery -rill o'tion Below is a screenshot o( the o'tion:
TIP -.($ & an,ator# Prompts /s Optional Prompts
&his ti' came to me while in6esti*atin* a s.''ort incident &he c.stomer was wor;in* with noticed
that re'orts too; si*nifcantly lon*er to re(resh when his 'rom'ts were O'tional 6s Mandatory we
were seein* a 30 second diIerence in e6en one o( the more sim'le re'orts he had (or testin* +e
in6esti*ated this thro.*h the traces and noticed that the $? eneration (.nctions were eEec.tin*
twice when O'tional Prom'ts were in6ol6ed and this was addin* to the o6erhead o( r.nnin* the re'ort
&his was ha''enin* in 31 $P% on the c.stomers side so it was with a le*acy " .ni6erse co.ld
re'licate the iss.e internally with o.r sim'le e5ashion .ni6erse b.t since it eEec.tes 6ery >.ic;ly, the
eEtra time was barely noticeable in my own testin* collected my internal lo*s and B!8 fle and
as;ed a de6elo'er (or a >.ic; re6iew
&he de6elo'er confrmed that the delay saw (rom the $? eneration (.nctions as s.s'ected /e
then did a code re6iew to see why this was ha''enin* /is eE'lanation was that O'tional 'rom'ts
may or may not ha6e 6al.es and there(ore the the $? *eneration co.ld chan*e a(ter the 'rom't
dialo* a''ears 5or eEam'le, i( an o'tional 'rom't 6al.e is not selected, then the +here cla.se will
omit that obNect +ith Mandatory 'rom'ts, the $? str.ct.re will always be the same be(ore and a(ter
'rom'ts are selected so it does not need to re*enerate the $? a(ter a 6al.e is selected
$o, in short, O'tional 6s Mandatory can *i6e diIerent 'er(ormance res.lts so it sho.ld be considered
be(ore choosin* one 6s the other !s with many o( the other ti's in this doc tho.*h, this does not
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
23/38
mean that yo. sho.ld not .se O'tional 'rom'ts &hey are .se(.l and are o(ten necessary, b.t they are
a (actor and as lon* as yo. ;now this, yo. can o'timi)e yo.r re'ort desi*n
..
Chapter 4 & Semantic La#er *est Practices
Most o( the below Best Practices in6ol6e the $emantic ayer, or $ as we sometimes re(er to it as &hese
Best Practices can hel' yo. desi*n (aster r.nnin* >.eries which can res.lt in (aster r.nnin* +ebi -ocs
TIP 4.( & Onl# erge Dimensions that are nee,e,
! Mer*ed -imension is a mechanism (or synchroni)in* data (rom diIerent -ata Pro6iders 5or eEam'le, i(
yo.r doc.ment had 2 -ata Pro6iders and each o( them has a Prod.ct ame dimension, yo. co.ld mer*e
the two diIerent dimensions into a sin*le Mer*ed dimension that wo.ld contain the com'lete list o(
Prod.ct ames (rom each data 'ro6ider
+eb ntelli*ence will a.tomatically mer*e dimensions in B 4E by de(a.lt, so yo. may want to e6al.ate i(
there are 'er(ormance *ains yo. can achie6e by re6iewin* the mer*ed dimensions ( yo. do not want yo.r
dimensions to be a.tomatically mer*ed, yo. can .nchec; the !.tomer*e dimensions 'ro'erty in the
-oc.ment Pro'erties o( yo.r re'orts
+e ha6e 2 -oc.ment Pro'erties within a +ebi doc.ment that can aIect the mer*in* o( dimensions:
Auto&merge ,imensions !.tomatically Mer*es dimensions with the same name (rom the same .ni6erse
!Gten, merge, ,imension /alues &his o'tion will a.tomatically incl.de mer*ed dimension 6al.es (or a
dimension e6en i( the mer*ed dimension obNect is not .sed in a table
Mer*in* dimensions has o6erhead associated to it that can im'act the 'er(ormance o( yo.r +ebi
doc.ments ( yo. do not need to ha6e certain dimensions mer*ed within yo.r doc.ment, yo. can sim'ly
choose to .nmer*e them &his remo6es the o6erhead 'er(ormance hit that is associated with mer*in* those
dimensions Besides, yo. can always mer*e them a*ain later i( needed
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
24/38
n short, to s>.ee)e a little eEtra 'er(ormance o.t o( yo.r lar*er re'orts, it mi*ht be worth .nmer*in*
dimensions that are not bein* .sed as mer*ed dimensions
TIP 4.' & *uil, 2ni/erses J ueries for the *usiness ;ee,s of theDocument
i;e any s.ccess(.l 'roNect, the ;ey to a s.ccess(.l +ebi -oc.ment is *ood 'lannin* &his hel's a6oid
sco'e7(eat.re cree' when yo. b.ild o.t the doc.ment -.rin* the 'lannin* sta*e, it is im'ortant to
determine eEactly what the b.siness needs (or yo.r doc.ment are Once yo. ;now the b.siness needs, yo.
can b.ild a lean doc.ment that only contains the in(ormation needed to (.lfll those needs
J.st li;e the 're6io.s ti' that tal;s abo.t Monster doc.ments, we also need to a6oid Monster
>.eries7.ni6erses as well &he (act is, the lar*er a .ni6erse or >.ery is, the worse the 'er(ormance and
o6erhead reso.rces will be By (oc.sin* only on the b.siness needs, we can minimi)e the si)e o( o.r >.eries
and o'timi)e the r.ntime o( o.r doc.ments
!s a realli(e eEam'le, ha6e seen a re'ort that was b.ilt oI o( a >.ery that contained o6er 300 obNects
&his re'ort '.lled bac; aro.nd 00,000 rows o( data and too; o6er 4 min.tes to com'lete On ins'ectin*
the doc.ment, only abo.t 174 o( the obNects were .sed in the doc.ment +hen as;ed +hy they were .sin*a >.ery that had o6er 300 obNects in it they didn.ery was desi*ned to acco.nt (or ! scenarios that
the >.ery desi*ner co.ld acco.nt (or and O& based on the b.siness needs o( the re'ort cons.mer
n $.mmary, it is im'ortant to ;now who will be .tili)in* the .ni6erses and what their needs will be Go. then
want to b.ild a lean .ni6erse, and s.''ortin* >.eries, that are o'timi)ed to s.it those needs
TIP 4.- & Arra# Fetch Size Optimizations
&he !rray 5etch $i)e C!5$D is the maEim.m = o( rows that will be (etched at a time when r.nnin* a +eb
ntelli*ence doc.ment 5or eEam'le, i( yo. r.n a >.ery that ret.rns 100,000 rows o( data and yo. ha6e an
!rray 5etch $i)e o( 100, it will ta;e 1000 (etches o( 100 rows 'er (etch C1000 E 100 U 100,000D to retrie6e allo( those rows
n newer 6ersions o( +eb ntelli*ence, we a.tomatically determine what an o'timal !5$ sho.ld be based on
the si)e o( the obNects within yo.r >.ery 5or most scenarios, this res.lts in an o'timi)ed 6al.e that will
ret.rn the data with the *ood 'er(ormance $ometimes tho.*h, man.ally settin* this 6al.e to a hi*her 6al.e
can s>.ee)e a little better 'er(ormance o.t
did some >.ic; testin* on my side and here are the res.lts that the !rray 5etch $i)e had on my test ser6er:
!s yo. can see abo6e, the time too; to r.n the same >.ery 6aried based on the !5$ 6al.e that was set &he
o'timi)ed 6al.e Cwhich belie6e was aro.nd %00 behind the scenesD too; aro.nd 30 seconds By o6erridin*
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
25/38
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
26/38
3 n the ?.ery Pro'erties
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
27/38
t is best to do.blechec; those 3 'laces when im'lementin* ?.ery $tri''in* ( it is .nchec;ed at any le6el,
yo. may not be beneftin* (rom the ?.ery $tri''in* (eat.re
&here is also a way to tell i( it is wor;in* +ith ?.ery $tri''in* enabled, re(resh yo.r >.ery and then *o bac;
in to the ?.ery Panel and clic; the "iew $? b.tton Go. sho.ld see that only obNects .sed in a bloc; within
the re'ort are .sed n this eEam'le, am only .sin* 3 o( the # obNects in my re'ort, so the >.ery only
selects those obNects
Go. can see abo6e that the $? has been stri''ed o( any .n.sed obNects and sho.ld r.n >.ic;er as a res.lt
5or B$ based doc.ments, ?.ery $tri''in* is enabled by de(a.lt
n s.mmary, yo. will want to ens.re yo.r doc.ments are .tili)in* ?.ery $tri''in* to *et better 'er(ormance
when re(reshin* >.eries
TIP 4.% & Follo+ these *est Practices for Performance Optimizing SAP *W@*ICS Reports
&here is a lot o( *reat in(ormation contained in the below doc.ment t o.tlines many best 'ractices (orre'ortin* oI o( $!P B+ .sin* the B$ connecti6ity Please re6iew the below *.ide (or more details on
o'timi)in* the 'er(ormance o( B$ based 8e'orts
DOC & "o+ to Performance Optimize SAP *usinessOb6ects Reports *ase, 2pon SAP *W using
*ICS Connecti/it#
TIP 4.B & 2sing In,eG&A+areness for *etter Performance
http://scn.sap.com/docs/DOC-33706http://scn.sap.com/docs/DOC-33706http://scn.sap.com/docs/DOC-33706http://scn.sap.com/docs/DOC-33706 -
7/25/2019 Tips for Optimimizing WEBI REPORTS
28/38
ndeE!wareness is described in the n(ormation -esi*n &ool ser *.ide in section 12% as:
#Index a'areness is the ability to tae advantage o the indexes on ey colu"ns to i"!rove query
!eror"ance.
.
$he ob(ects in the business layer are based on database colu"ns that are "eaningul or querying data. )or
exa"!le& a usto"er ob(ect retrieves the value in the custo"er na"e colu"n o the custo"er table. In"any databases& the custo"er table has a !ri"ary ey or exa"!le an integer2 to uniquely identiy each
custo"er. $he ey value is not "eaningul or re!orting& but it is i"!ortant or database !eror"ance.
.
/hen you set u! index a'areness& you defne 'hich database colu"ns are !ri"ary and oreign eys or the
di"ensions and attributes in the business layer. $he benefts o defning index a'areness include the
ollo'ing5
o 6oining and fltering on ey colu"ns are aster than on non7ey colu"ns.
o )e'er (oins are needed in a query& thereore e'er tables are requested. )or exa"!le& in a
star sche"a database& i you build a query that involves fltering on a value in a di"ension table& the query
can a!!ly the flter directly on the act table by using the di"ension table oreign ey.
o 8niqueness in flters and lists o values is taen into account. )or exa"!le& i t'o custo"ers
have the sa"e na"e& the a!!lication retrieves only one custo"er unless it is a'are that each custo"er hasa se!arate !ri"ary ey.#
tili)in* ndeE !wareness can hel' im'ro6e 'er(ormance as ;ey col.mns will be .tili)ed behind the scenese
in the >.eries to do (aster loo;.'s and lin;in* on the database side
&he n(ormation -esi*n &ool ser .ide co6ers ndeE !wareness in the (ollowin* cha'ters:
DOC & Information Design Tool 2ser 5ui,e @*I 4.( SP4 & Chapter ('
TIP 4.0 & 2sing Aggregate A+areness for Performance
!**re*ate !wareness is described as the (ollowin* in the -& ser .ide:
#ggregate a'areness is the ability o a relational universe to tae advantage o database tables that
contain !re7aggregated data aggregate tables2. Setting u! aggregate a'areness accelerates queries by
!rocessing e'er acts and aggregating e'er ro's.
.
I an aggregate a'are ob(ect is included in a query& at run ti"e the query generator retrieves the data ro"
the table 'ith the highest aggregation level that "atches the level o detail in the query.
)or exa"!le& in a data oundation there is a act table or sales 'ith detail on the transaction level& and an
aggregate table 'ith sales su""ed by day. I a query ass or sales details& then the transaction table is
used. I a query ass or sales !er day& then the aggregate table is used. /hich table is used is trans!arent
to the user.
.
Setting u! aggregate a'areness in the universe has several ste!s. See the related to!ic or "ore
inor"ation#
tili)in* the database to 'rea**re*ate data can hel' s'eed .' the 'er(ormance o( yo.r +ebi doc.ments
&his is beca.se the +ebi Processin* $er6er will not ha6e to do the a**re*ations locally and will only ha6e to
wor; with the a**re*ated data that is ret.rned (rom the database side
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_info_design_tool_en.pdfhttp://help.sap.com/businessobject/product_guides/sbo41/en/sbo41sp4_info_design_tool_en.pdf -
7/25/2019 Tips for Optimimizing WEBI REPORTS
29/38
se !**re*ate !wareness whene6er it ma;es sense
TIP 4.? & 2tilizing )OI;M*NMSL to a/oi, multiple ueries
&he JOFBGF$? 'arameter determines how the $? eneration handles m.lti'le $? statements By
de(a.lt, $? $tatements are not combined and in some scenarios, 'er(ormance *ains can be reali)ed by
allowin* the $? eneration to combine m.lti'le statements
&he JOFBGF$? 'arameter is (o.nd in the n(ormation -esi*n &ool in the B.siness ayer and7or -ata
5o.ndation Below is a screenshot o( the 'arameter in its de(a.lt state
By chan*in* this "al.e to Ges, yo. are instr.ctin* the $? eneration 'rocess to .se combined statements
whene6er 'ossible &his can res.lt in (aster >.ery eEec.tion so it may be worth testin* this o'tion o.t on
yo.r .ni6erses7doc.ments
TIP 4.= & Securit# Consi,erations for the Semantic La#er
&here is no do.bt that sec.rity is a necessity when dealin* with sensiti6e data &he '.r'ose o( this ti' is to
'rom't yo. to re6iew yo.r sec.rity model and im'lementation to ens.re it is as lean as it can be
Per(ormance can defnitely be im'acted, sometimes >.ite se6erely, by the com'leEity o( the sec.rity model
at both yo.r $emantic ayer, and yo.r B Plat(orm Csers and ro.'sD le6els
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
30/38
!s an eEam'le, ha6e wor;ed on an incident recently where we were seein* ro.*hly a 1040R 'er(ormance
diIerence when o'enin* a +ebi doc.ment with the b.ilt in !dministrator acco.nt 6s another ser !cco.nt
On closer eEamination, the .ser was a member o( o6er %0 *ro.'s and a *ood 'ortion o( the load time was
s'ent on ri*hts a**re*ation and loo;.'s
+e also (o.nd that there were some ineVciencies in o.r code that co.ld be o'timi)ed in (.t.re $.''ort
Pac;a*es7Minor 8eleases &hese sho.ld hel' im'ro6e 'er(ormance (or c.stomers who may be .naware o(the 'er(ormance im'acts their com'leE sec.rity model may be ha6in*
$o, some actions yo. may want to consider (or this ti' are:
1 8e6iew yo.r b.siness re>.irements and red.ce7remo6e any .nnecessary -ata7B.siness ayer
$ec.rity 'rofles at the ni6erse le6el
2 onsider .sin* the han*e $tate 7 /idden o'tion in the B.siness ayer (or felds that yo. do not
want any .sers to see
3 onsider .sin* !ccess e6els in the B.siness ayer to control which .sers ha6e access to obNects
4 8ed.ce the = o( ser ro.'s78oles that yo.r sers are a'art o(
&est 'er(ormance with an !dministrator ser and com'are it to a 8estricted ser to *a.*e theim'act on Per(ormance
Chapter % & Formula J Calculation !ngine Tips
&hese ti's in6ol6e some insi*ht (rom the 'rod.ct de6elo'ers aro.nd how the bac;end calc.lation en*ine
handles calc.lations in re*ards to 'er(ormance
TIP %.( & 2se ;este, Sections +ith Con,itions +ith caution
! ested section, or s.bsection as they are sometimes re(erred to, is a section within a section 5oreEam'le, yo. mi*ht ha6e a o.ntry $ection and a 8e*ion section within it &his wo.ld be considered a
ested section ested sections can add o6erhead into the re'ort renderin*7'rocessin* time &his is
es'ecially tr.e when yo. add conditions to the section s.ch as /ide section when &his doesn
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
31/38
/ere are the 5ormat $ection o'tions that can aIect 'er(ormance when o6er.sed:
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
32/38
+hen .sin* the conditions within ested sections, the calc.lation en*ine needs to f*.re o.t which sections
are dis'layed &he more nested sections yo. ha6e, the more o6erhead there is to f*.re o.t which le6els o(
sections are act.ally 6isible !*ain, 6ery .se(.l in most cases b.t (or re'orts with tho.sands o( dimensions in
the sections and conditions associated to them, this can im'act the 'er(ormance
TIP %.' & 2se I; instea, of For!ach an, ForAll +hen possible
&his ti' came directly (rom o.r de6elo'ers that wor; with the calc.lation en*ine Behind the scenes, the
code is m.ch more eVcient when 'rocessin* the conteEt 6s the 5orach or 5or!ll conteEts
&he (ollowin* -oc.ment is a6ailable on o.r hel' 'ortal t co6ers .sin* (.nctions, (orm.las, calc.lations and
conteEts within a +ebi doc.ment in more detail:
DOC & 2sing functions> formulas> an, calculations in Web Intelligence @*I 4.( SP-
Section 4.-.(.(co6ers the I;conteEt o'erator with eEam'les o( how it wor;s n short, the conteEt
o'erator s'ecifes dimensions eE'licitly in a conteEt
Section 4.-.(.'and 4.-.(.-co6er the For!achand ForAllconteEt o'erators n short, these two (.nctions
allow yo. to modi(y the de(a.lt conteEt by incl.din* or eEcl.din* dimensions (rom the calc.lation conteEt
n a lot o( cases, can be .sed to achie6e similar res.lts to the 5orach and 5or!ll o'erators so i( yo.
s.s'ect these are contrib.tin* to 'er(ormance iss.es, try chan*in* yo.r (orm.las to .se instead
TIP %.- & 2se IF...T"!;...!LS! instea, of Where operator +hen possible
n most cases, the 57&/7$ o'erators can be .sed instead o( a +here O'erator &his is more eVcient
(rom a calc.lation en*ine 'ers'ecti6e accordin* to o.r de6elo'ers ( yo. e6er s.s'ect that the +hereo'erator is ca.sin* 'er(ormance de*radation iss.es in yo.r re'ort, try swa''in* it (or a 5 statement i( yo.
can
&he (ollowin* doc.ment disc.sses these o'erators in more details:
DOC & 2sing functions> formulas> an, calculations in Web Intelligence @*I 4.( SP-
Section B.'.4.(4co6ers the .sa*e o( the WhereO'erator and 'ro6ides eEam'les
Section B.(.($.((co6ers the IF...Then...!lse(.nctionality
TIP %.4 & Factorize @Reuse Kariables
5actori)in* 6ariables essentially means to re.se them within other 6ariables By doin* this, yo. are red.cin*
the n.mber o( calc.lations that the en*ine needs to do to calc.late the res.lts
/ere is an eEam'le o( what we mean when we say 5actori)in* 6ariables:
/M"(MSales= Su"9Sales ,evenue:2 /here 9+uarter: Inist#+1#;#+
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
33/38
.
/M"'MSales= Su"9Sales ,evenue:2 /here 9+uarter: Inist#+3#;#+4#22
ow we re.se these two to *et the Gears sales C/1/2 re6en.e combinedD
/MNearMSales= /M"(MSales8/M"'MSales
By re.sin* 6ariables, yo. are sa6in* the time needed to recalc.late 6al.es that ha6e already been
calc.lated &he abo6e is a sim'le eEam'le b.t a''lyin* the same lo*ic to more com'leE calc.lations can
sa6e yo. some real time on the calc.lation side
Chapter B & Sizing for Performance
One o( the ;eys to a (aster 'er(ormin* re'ort is 'ro'er si)in* on the bac;end com'onents More o(ten than
not, we see systems that were ori*inally si)ed correctly (or -ay One .sa*e b.t ha6e since o.t*rown the
ori*inal si)in* and are now eE'eriencin* 'er(ormance iss.es d.e to reso.rce and conc.rrency limits t is
im'ortant to si)e yo.r system (or &oday.allyim'ortant to ha6e chec;'oints a (ew times a year to ens.re yo. are not o.t*rowin* yo.r ori*inal si)in*
estimates
2PDAT!E&ed eda has written a *reat blo* that *oes o6er some o( these recommendations in *reater
detail in; below:
*LO5 & Re/isit the Sizing for #our ,eplo#ment of *I 4.G Web Intelligence Processing Ser/ers
.
&he (ollowin* ti's will hel' yo. si)e yo.r system (or 'er(ormance and may hel' yo. a6oidsome common mista;es we ha6e seen in s.''ort
TIP B.( & 2se these Resources to "elp #ou Size #our !n/ironment&he B Plat(orm is not si)ed (or 'er(ormance ri*ht o.t o( the boE $ince e6ery installation will ha6e a diIerent
set o( content, .sers, nodes, ri*hts, data, etc it is diVc.lt to do si)in* witho.t '.ttin* >.ite a bit o(
're'aration and tho.*ht into the eEercise
&he (ollowin* reso.rces can hel' yo. do a si)in* eEercise on yo.r en6ironment:
DOCSizing an, Deplo#ing SAP *I 4 an, SAP Lumira
DOCSAP *usinessOb6ects *I4 Sizing 5ui,e
QLS &SAP *I 4G Resource 2sage !stimator
&o com'lete a si)in* eEercise, yo. will want to .se the abo6e Sizing 5ui,eand Resource 2sage
!stimator Go. will also need to ;now >.ite a bit abo.t the hardware, and the eE'ected .sa*e on the
system to do a 'ro'er si)in*
.TIP B.' & Do not reuse QI -.( Sizing on a *I 4.G S#stem @-'bit /s B4bit
http://scn.sap.com/community/businessobjects-web-intelligence/blog/2014/12/18/revisit-the-sizing-for-your-deployment-of-bi-4x-web-intelligencehttp://scn.sap.com/docs/DOC-33183http://scn.sap.com/docs/DOC-33126http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1055c550-ce45-2f10-22ad-a6050fff97f1http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1055c550-ce45-2f10-22ad-a6050fff97f1http://scn.sap.com/community/businessobjects-web-intelligence/blog/2014/12/18/revisit-the-sizing-for-your-deployment-of-bi-4x-web-intelligencehttp://scn.sap.com/docs/DOC-33183http://scn.sap.com/docs/DOC-33126http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1055c550-ce45-2f10-22ad-a6050fff97f1 -
7/25/2019 Tips for Optimimizing WEBI REPORTS
34/38
! common mista;e that some administrators will ma;e is to re.se the si)in* re>.irements that they did (or
31 (or their B 4E en6ironments B 4E is m.ch more than a sim'le .'*rade and contains >.ite a (ew
architect.ral chan*es that need to be considered in order to si)e an en6ironment correctly One o( the
bi**est chan*es was the ado'tion o( #4bit 'rocesses in B 4E &his o6ercomes one o( the maNor si)in*
6ariables (or 31 which was memory limits
31 was all 32bit 'rocesses On +indows systems, this meant that the most memory that co.ld beallocated 'er 'rocess was aro.nd 2 i*abytes n most cases, this was limitin* the scalability (or a system,
es'ecially where +eb ntelli*ence was concerned &he +eb ntelli*ence Processin* $er6er
C+8e'ort$er6ereEeD wo.ld only be able to .se .' to 2 B o( memory be(ore it wo.ld han* or crash On a
in.E system this co.ld be increased to abo.t 4 B b.t co.ld still be easily reached with a (ew 6ery lar*e
re'ort re>.ests 5or this reason, the recommendation was to ha6e m.lti'le +eb ntelli*ence Processin*
$er6ers C+P$D on a sin*le node 5or eEam'le, i( yo. had 32 B o( 8!M, yo. mi*ht '.t 12 +P$ on that
machine so that a total o( 24B o( that 8!M &here was still the ris; o( a sin*le +P$ eEceedin* the 2B
ceilin*, b.t with load balancin* the odds went way down (or yo. hittin* that limit
n B 4E, the +P$ is now a #4bit 'rocess &his means that the 2B limit is no lon*er an iss.e n the same
eEam'le as abo6e, yo. mi*ht want to red.ce the n.mber o( +P$ to 2 instead o( 12 +ith 2 E #4bit ser6ers,
yo. can .se all o( the 8!M that is a6ailable on the ser6er and yo. still *et (a.lt tolerance and (ailo6erca'abilities &echnically yo. co.ld N.st ha6e 1 +P$ b.t i( that one was to crash (or some reason, yo.
wo.ldn.ate reso.rce a6ailability (or the !da'ti6e Processin* $er6er C!P$D and it
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
35/38
$hortly a(ter the release o( B 40, $!P released an !P$ s'littin* *.ide that assisted $ystem !dministrators in
s'littin* the !P$ to accommodate their system .sa*e ! lin; to this *.ide is (o.nd below t co6ers a lot
more detail then will *o into here and is a m.st read (or anyone in char*e o( a B 4E de'loyment
DOC & *est Practices for SAP*O *I 4.$ A,apti/e Processing Ser/ers
&he doc.ment tal;s abo.t the architect.re o( the !P$ 'rocess and all o( the diIerent ser6ices that areinstalled &here are recommendations on how yo. can *ro.' ser6ices to*ether to 'air .' less reso.rce
intensi6e 'rocesses with the ones that re>.ire more reso.rces &his hel's stri;e a balance between = o( !P$
ser6ices and 'er(ormance
&here is also a S#stem Con9guration Wizar,that is a6ailable in the entral Mana*ement onsole CMD
&his wi)ard will do some sim'le &shirt si)ed s'littin* o( the !P$ and can be .sed as a baseline (or new
installs $!P still recommends that yo. do a 'ro'er si)in* eEercise in addition to this tho.*h
TIP B.4 & Fast Storage for Cache an, Temp Directories
$ome !dministrators chan*e the ache and &em' directories (or their +eb ntelli*ence Processin* $er6ers to
some sort o( etwor; !ttached $tora*e C!$D de6ice
&his is .nnecessary in most cases and .nless that networ; stora*e is as (ast, or (aster than local hard dri6e
stora*e, it co.ld become a bottlenec; ache and &em' fles (or +eb ntelli*ence are noncritical
com'onents that do not need to be bac;ed .' or hi*hly a6ailability ( a +P$ doesn
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
36/38
'er(ormance in their Prod.ction en6ironment 6s their ?.ality !ss.rance en6ironment n di**in* into the
iss.e, the 'roblem was determined to be the P s'eed n Prod.ction, they had 12@ cores r.nnin* at 1200
Mh) &his is *reat (or conc.rrent re>.ests that r.n on se'arate threads ?! only had @ cores b.t the P
was a 2@ h) 'rocessor $o, when doin* a sin*le wor;Low com'arison, ?! ran re>.ests m.ch >.ic;er than
Prod.ction Prod.ction co.ld handle a hi*h load o( conc.rrent .sers, b.t the thro.*h'.t was >.ite a bit
slower
owadays, most machines ha6e a 'retty (ast 'rocessor in them so this mi*ht not be somethin* that most
'eo'le will r.n into +here ha6e seen this more (re>.ently is when older machines are bein* .sed
TIP B.0 & 2se the *I Platform Support Tool for Sizing Re/ie+s
&he B Plat(orm $.''ort &ool CBP$&D is a *reat tool to .se to *ather in(ormation aro.nd yo.r B 4E system
landsca'e ( yo. ha6en
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
37/38
&his .'date to the #4bit Processin* $er6er (or +ebi means that #4bit -atabase lient7-ri6ers co.ld
now be .tili)ed as well &his all does o( co.rse re>.ire that yo.r O'eratin* $ystem and hardware is #4
bits as well
&his chan*e is es'ecially rele6ant (or yo.r $i)in* o( the B 4E system n 're6io.s 6ersions we
recommended that yo. scale the +ebi o.t on a sin*le node to .tili)e more than 2B o( the a6ailable
8!M n B 4E this is not re>.ired as a sin*le +eb ntelli*ence Processin* $er6er C+P$D can .tili)eessentially all the a6ailable 8!M on a machine in a sin*le 'rocess
TIP 0.' & "oste, Ser/ices are more hea/il# use, in *I 4.G
B 4E may loo; similar on the s.r(ace b.t another maNor architect.ral chan*e on the bac;end was the
shi(t to ser6ice based 'rocess Lows &hese ser6ices are o(ten re(erred to as O.t'roc or /osted ser6ices
as they are o(ten hosted o.tside o( the 'rocess that is .tili)in* them !s an eEam'le, the +P$ .tili)es
the -$ Brid*e $er6ices that is hosted on the !da'ti6e Processin* $er6er (or $emantic ayer access
s.ch as ni6erse and B$ connecti6ity
&his hea6ier reliance on /osted ser6ices means that there are more 6ariables to consider when
in6esti*atin* iss.es or si)in* an en6ironment &o name a (ew considerations: &he 'rocess Lows contain more ser6ices which co.ld be s'read across m.lti'le nodes &his *reatly
increases the com'leEity o( 'rocess Lows in some cases
$i)in* is more com'leE as yo. ha6e to consider the im'act on m.lti'le 'rocesses when estimatin*
the reso.rces needed (or a re'ort
etwor; can be a (actor when tro.bleshootin* bottlenec;s in wor;Lows
n most cases, it is the !da'ti6e $er6ers CJob and Processin*D that host these /osted $er6ices so the maNor
chan*e is s.rro.ndin* 'ro'er scale o.t o( these $er6ers
TIP 0.- & Larger of Processes in/ol/e, in Process Wor1o+s
Below is a list o( 'rocesses that can be in6ol6ed in certain +eb ntelli*ence wor;Lows in B 4E:
+eb ntelli*ence Processin* $er6er W Processin* and reation o( +eb ntelli*ence doc.ments
"is.ali)ation $er6ice C!P$D W eneratin* harts
-$Brid*e C!P$D W ew $emantic ayer and B$ connections
-ata 5ederation $er6ice C!P$D W M.lti $o.rce ni6erses
onnection $er6er C#4bitsD W 3 &ier mode onnections
onnection $er6er C32bitsD W 3 &ier mode onnections
$ec.re &o;en $er6ice C!P$D W $$O ⁣ets sessions
+eb Monitorin* $er6ice C!P$D W lient Monitorin*
+eb !''lication $er6er W Pa*e 8enderin*
entral Mana*ement $er6ice W !.thentication, $er6er omm.nication, 8i*hts, etc
5ile 8e'ository $er6ice W 5ile retrie6al 7 nstance $tora*e
P.blication $er6ice C!P$D W +eb ntelli*ence P.blication Processin*
!da'ti6e Job $er6er W P.blications and $ched.led Jobs
-
7/25/2019 Tips for Optimimizing WEBI REPORTS
38/38
may ha6e missed one or two, b.t yo. *et the 'oint +hen we com'are this list to 31, yo. can see the
contrast:
+eb ntelli*ence Processin* $er6er W Processin* and reation o( +eb ntelli*ence doc.ments
onnection $er6er C32bitsD W 3 &ier mode onnections
+eb !''lication $er6er W Pa*e 8enderin* entral Mana*ement $er6ice W !.thentication, $er6er omm.nication, 8i*hts, etc
5ile 8e'ository $er6ice W 5ile retrie6al 7 nstance $tora*e
!da'ti6e Job $er6er W P.blications and $ched.led Jobs
5or this reason, it is im'ortant to ;now the B 4E +or;Lows (airly intimately Below are some lin;s to
nteracti6e +or;Lows that will hel' yo. learn and .nderstand these chan*ed wor;Lows