Performance Tuning, Caching, and Monitoring
Tuning levers
Performance tuning balances JVM heap, dispatcher process limits, queue settings, governor limits, and caching. Set the heap high enough to avoid constant garbage collection but not so high that pauses become long; monitor GC and response times before changing values.
Caching layers
- Report output cache stores previously rendered output for reuse.
- The Dynamic Query Mode shared query cache stores query results in memory for reuse across compatible requests.
- Authentication caching reduces identity provider calls; stale entries can delay group changes.
- Browser caching affects how quickly users see updated content.
Monitoring
Use the administration console Status and Metrics views, request and session monitoring, audit reports, and the Dynamic Query Analyzer for XQE queries. Governors can cap memory, CPU, and query execution time per request.
Worked example
A dashboard is slow at month end. The administrator checks metrics for queue time, confirms the query cache hit rate is low because each request uses different prompts, reviews governor limits, and finds the database is the bottleneck. The fix is database statistics and indexing, not a larger heap.
Traps
Disabling all caching to solve one stale report; raising heap without measuring GC; ignoring database performance; and setting governors so low that valid reports fail.