I got real problems with performance in BI Launch Pad. For instance, my reports were opening very long time, navigation in BI Launch Pad was awful.

1. Let’s modify the Tomcat setting, because by default they have low value.
o JavaHeapSize (-Xmx) from 2G to 4G
o MaxThreads from default (200) to 900
1.1 JavaHeapSize we should modify:
cd <bo inst folder>/sap_bobj/tomcat/bin
modify setenv.sh

# set the JAVA_OPTS for tomcat

Code:
JAVA_OPTS=”-d64 -Dbobj.enterprise.home=${BOBJEDIR}enterprise_xi40 -Djava.awt.headless=true -Djava.net.preferIPv4Stack=false -Xmx4g -XX:MaxPermSize=384m -XX:+HeapDumpOnOutOfMemoryError -Xloggc:<bo_inst_folder>/sap_bobj/tomcat/logs/tomcat.gc.log -XX:+PrintGCDetails -XX:+UseParallelOldGC”


1.2 MaxThreads we would modify:
cd <bo_inst_folder>/sap_bobj/tomcat/conf modify
server.xml

Define a non-SSL HTTP/1.1 Connector on port 8080

Code:
    –>
<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ maxThreads=”900″ URIEncoding=”UTF-8″/>
  <!– A “Connector” using the shared thread pool–>
  <!–
    <Connector executor=”tomcatThreadPool”
               port=”8080″ protocol=”HTTP/1.1″
               connectionTimeout=”20000″
               redirectPort=”8443″ />
    –>

 

2. Cleaning of old installed patches and service packs from BO. What does it mean?
Just go to <bo inst folder> and run ./modifyOrRemoveProducts.sh (for Linux):
It is clear that i have many various installation on my server. But it is important to delete old installation!

3. Cleaning of logging directory, in <bo inst folder>/sap_bobj/logging
o Deleting Trace-Files
o Deleting Logs old than 30 days
4. Tuning APS, for start you can use CMC Wizard.
5. APS properties for tracing set to unspecified (-> means bo_trace.ini are used)

 

Level – Description
Unspecified – Force the use of BO_trace.ini to be used
None – Only critical events such as failures will be logged
Low – Ignores warning and status messages
Medium – Only Status messages with least important will be ignored
High – Includes all the logging messages

6. Disabling of unused services in the CMC, for instance, Crystal, Analyses services.

7. Reorganisation of database statistics of BO-Repository and BO-Auditing.

 

This one is high important point. As you know, every database has to manage its statistics according to number of rows. And if you do not collect stat, than you performance as well as refresh rate are decreasing.

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. IBM Denmark

    very much informative check list to stabilize performance.

    Andreas,

    can you brief about Re-organization of database statistic related to Oracle.

    Thanks,

    Ashok

    (0) 
    1. Andreas Sbrzesny Post author

      Hello,

      in oracle you can refresh the statistics for a total schema with:

      EXEC dbms_stats.gather_schema_stats(‘SCOTT’, cascade=>TRUE);


      ‘SCOTT’ is the name of the schema.


      For specific tables you can make it like:


      exec dbms_stats.gather_schema_stats( –

      ownname          => ‘SCOTT’, –

      options          => ‘GATHER AUTO’, –

      estimate_percent => dbms_stats.auto_sample_size, –

      method_opt       => ‘for all columns size repeat’, –

      degree           => 15 –

      )

      A good description of the funktion you can find under Oracle Tables and Statistics

      Hope that helps
      Andreas


      (0) 
      1. IBM Denmark

        Hi Andreas,
        Thank you very much.

        we are using daily once.as below.

        EXEC DBMS_STATS.gather_schema_stats(OWNNAME=>’CMS Schema’,options=>’gather auto’,estimate_percent => dbms_stats.auto_sample_size,cascade => TRUE,degree => 4);

        comment if we can do anything more or any modifications needed.

        Thanks,

        Ashok

        (0) 
        1. alex dykes

          Using DBMS_STATS.AUTO_DEGREE might give you better performance, the system will usually work out the optimum degree of parallelism for you :


          EXEC DBMS_STATS.gather_schema_stats(OWNNAME=>’CMS Schema’,options=>’gather auto’,estimate_percent => dbms_stats.auto_sample_size,cascade => TRUE,degree => DBMS_STATS.AUTO_DEGREE);

          (0) 

Leave a Reply