Common Report Performance Issues
- Data takes too long to
retrieve - Report takes too long to
process - Report takes too long to
render - Report Time out Issues
- Unresponsive State
- Interactive Sort, Drill
down too slow - Report Failures
Ways to monitoring Report Performance
- Task Manager
- Event Viewer
- Native Report Server
views and Query - DMVs
- Performance Monitor
- Third Party Tools
SSRS Performance Optimization Tips
- Use 64 bit hardware and
software - Use Report Execution
Timeouts to control how a long a report has to execute - Control the size of the
report using input parameters - Subscriptions or
Interactive Report? - Live Data or Snapshots?
- Disable report history to
reduce/remove the report history snapshots - Set proper Memory Limit
Configuration
–
Default 60% of available memory. Max
can be 80 %
Default 60% of available memory. Max
can be 80 %
–
Once threshold hit, no new requests
are accepted
Once threshold hit, no new requests
are accepted
§ Report
Snapshot
Snapshot
§ Report
Caching
Caching
- Monitoring Performance by
using ExecutionLog2 view - Optimize disk I/O
subsystem for maximum performance - Optimize network links to
ensure sufficient bandwidth
Design tips for Optimizing Report
Processing
Processing
- Set CanGrow and CanShrink
on text boxes to FALSE. - Set AutoSize on images to
a different value such as Fit. - For text boxes, avoid
setting the property TextAlign to General - Avoid horizontal page
breaks when they are not required - Set the KeepTogether
property on Tablix members to FALSE - Filter, sort, and
aggregation is more efficient on the data source than during report
processing - Sort the data at database
query level - Perform calculations at
database level - Consider the amount of
data needed for a chart or gauge - Drill through is better
choice as compare to on demand processing - Expressions in the Page
Header or Footer Force All Pages To Be Processed - Add page breaks where it
makes sense - Verify that
InteractiveHeight is not 0 - Do use sub reports when
there are just a few subreport instances. - Do not use sub reports
inside a group when there are many group instances - In order to run large
reports, there are two time-outs you must adjust: report execution
time-out and the ASP.NET time-out. - Merged cells and
unaligned report items interfere with Excel functionality in the exported
report.