SQL Server Reporting Services(SSRS) – Performance Monitoring & Optimization – SQL Circuit

SQL Server Reporting Services(SSRS) – Performance Monitoring & Optimization

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 %
       
Once threshold hit, no new requests
are accepted
§  Report
Snapshot
§  Report
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
  • 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.

Leave a Reply

Your email address will not be published. Required fields are marked *