Tips for Optimimizing WEBI REPORTS

Embed Size (px)

Citation preview

  • 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