Performance optimization is primarily done for two reasons,toreduce response times and to reduce resource usage.This is applicable for any given situation. In this blog, I am coming up with few performance optimization tips that can be performed to increase the performance of GRC AC 10.x. Hope it will be helpful for you.
Tip No: 1 Improving Run time performance for Batch Risk Analysis, Repository Object Synch. Jobs
The table GRACUSERPRMVL holds all risks for all users executed in Batch Risk Analysis. Very large number of entries in this table affects negatively and directly the performance of Batch Risk Analysis job. The following steps can be performed to improve the performance.
Clear out the violations data by running the new utility GRAC_DELETE_VIOLATION_DATA
Perform the "Update DB statistics" task with the help of your Database Administrator, and make sure this task is scheduled to run after every batch risk analysis job
Rerun batch risk analysis to repopulate violation tables.
Tip No: 2 improving the performance of Role Import
Role Import will take long time if there are lots of derived roles in system. The reason for this is: standard index is not delivered.
To overcome this and to improve the performance of the role import, Create indexing for table GRACFLDSYST for below fields in the given order:
Tip No: 3 Best Practices for Batch Risk Analysis
Another powerful approach to speed up the time needed for batch risk analysis is focusing on only those users that are really relevant for analysis. Therefore, while configuring of ARA, please focus on the following parameters 1028 and 1029 to exclude the following users.
Also recommended is to exclude critical roles and profiles using the Parameter 1031 from batch risk analysis, because profiles like SAP_ALL carry all possible risks and consume a considerable amount of computation time when they are hit by a risk analysis.
Tip No: 4 Consolidated report data is not getting updated in EAM
When trying to update the consolidated report by running the firefighter log sync job. Consolidated report data is not getting updated though Firefighter is executing the transactions. This is due to huge data in the tables CDHDR and CDPOS.
To Solve this kind of performance issues, Indexing is required on the fields UDATE & USERNAME of table CDHDR to resolve this issue.
Tip No: 5 Management Reports running long time to fetch data as deleted, expired and locked users are still showing in the reports
The management reports/dashboards and batch risk analysis are still showing these users: deleted, expired, locked in spite of maintaining the following settings.
"Include Expired Users" is set to NO
"Include Locked Users" is set to NO
To Solve this kind of issue and improve of the performance of management report, please Run the program GRAC_RECONCILE_USER_REP for the affected connector(s) without selecting the simulation flag
Tip 6: Performance Optimization for BRF+
As most of the GRC Consultants might be using brfplus in their projects, please find the following SAP Notes which will help you to optimize the performance of BRF+.
1930741: Performance Improvements in the BRFplus Design Time
1936926: Runtime improvements for decision tables
1748948: BRF+: Performance improvement in data transfer
1743329 and 1749719: Performance Optimizations for Text Reading
1938697: BRFplus: Remove unnecessary data conversion
2199193: BRF+: Performance improvement in BRF+ object activation
Hope this will be useful.
Consultants are welcome to add more performance optimization tips here.