Reporting Best Practices
What are some best practices for minimizing dashboard/report runtimes and database server load?
1. Choose the smallest timeframe possible that satisfies your requirements (i.e. 'Last Hour' or specific hour in the past)
2. Select the reporting group with the smallest membership possible that satisfies your requirements. Ask yourself, do you *really* need to run the dashboard against a collection with 10k items? Could you possibly run the dashboard against a smaller group?
3. When building custom dashboards, consider the number of queries issued by each dashboard “view”. For example, Top N multi-trend style reports typically issue 1 query to determine the Top N, then, separate queries for each of the N items returned. Given that the default for N is 10, a Top N style report leads to 11 queries.
Also you change the following:
1) Configure then the MAX memory for each process on NetOps Portal box with the following values:
PC:
File: /opt/CA/PerformanceCenter/PC/conf/wrapper.conf
Variable:
From:
wrapper.java.maxmemory=1994
To:
wrapper.java.maxmemory=5120
DM :
File: /opt/CA/PerformanceCenter/DM/conf/wrapper.conf
Variable:
From:
wrapper.java.maxmemory=1994
To:
wrapper.java.maxmemory=6144
2) At general table for netqosportal database on NetOps Portal box modify the following parameters:
Client.MaxWaitPeriodMs to 30000
Client.ServerExecutionTimeoutMs to 400000
Client.ServerExecutionTimeout to 400000
mysql
use netqosportal
select attribute,value from general where attribute="Client.MaxWaitPeriodMs";
update general set value=20000 where attribute="Client.MaxWaitPeriodMs";
select attribute,value from general where attribute="Client.MaxWaitPeriodMs";
select attribute,value from general where attribute="Client.ServerExecutionTimeoutMs";
update general set value=400000 where attribute="Client.ServerExecutionTimeoutMs";
select attribute,value from general where attribute="Client.ServerExecutionTimeoutMs";
select attribute,value from general where attribute="Client.ServerExecutionTimeout ";
update general set value=400000 where attribute="Client.ServerExecutionTimeout ";
select attribute,value from general where attribute="Client.ServerExecutionTimeout ";
b) Modify the rib-engine.properties file under
/opt/CA/PerformanceCenter/DM/webapps/dm/WEB-INF path
rib.engine.source_query_timeout_sec to 400
c) Modify the dm.properties file
under /opt/CA/PerformanceCenter/DM/webapps/dm/WEB-INF/ path
web.cxf.client.services_timeout to 400000
d) Modify the porrtal.console.properties file
under /opt/CA/PerformanceCenter/PC/webapps/pc/WEB-INF/cfg path
web.cxf.client.services_timeout to 400000
e) Then recycled all the services (PC/DM/EM/SSO/mysql)
Stop:
service caperfcenter_console stop
service caperfcenter_devicemanager stop
service caperfcenter_eventmanager stop
service caperfcenter_sso stop
service mysql stop
Start
service mysql start:
service caperfcenter_console start
service caperfcenter_devicemanager start
service caperfcenter_eventmanager start
service caperfcenter_sso start
3) Configure then the MAX memory for NetOps portal, DA and DC boxes, see Modify Maximum Memory Guide on sites: