SQL SSRS Report Response Test

The report server processes a report in three steps: report processing, data processing, and rendering. Data and report processing are performed on a report definition; the results are in an internal intermediate format. Reports that are in intermediate format are subsequently rendered to a specific viewing format. The following diagram shows the stages and elements of report processing.

Figure 1 : Stages and elements of report processing

If there is a slowdown in any of these stages of report processing, it can slow down report execution, which in turn can adversely impact user experience with the SQL Reporting Services.

To ensure high user satisfaction with SQL reporting services, administrators should be able to quickly spot reports that are taking too long to execute, accurately isolate the reason for the slowness, and resolve the bottleneck. This is where the SQL SSRS Report Response test helps!

This test auto-discovers report server users, and for each user, tracks the running time of every report executed by that user. If the execution time of a report exceeds an acceptable, user-configured running duration, then such a report will be counted as a slow report. The test then reports the count of slow reports per user, and the maximum time spent by every user at different stages of report processing. This way, the test points administrators to the probable cause of the processing bottleneck. Detailed diagnostics provided by the test reveal the exact reports that are slow, and points administrators to the precise reason for their slowness.

Target of the test : A Microsoft SQL Server Reporting Services server

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each user of the report server being monitored

Configurable parameters for the test
Parameters Description

Test period

How often should the test be executed

Host

The host for which the test is to be configured.

Port

The port at which the specified Host listens.

Instance

The name of a specific SQL Report server instance to be monitored. The default value of this parameter is “default”. However, if the Microsoft SQL Server hosting the SQL Reporting Server database uses named instances, then do the following:

  • Configure the Instance parameter with the name of the SQL Server instance that hosts the SQL Report Server database.
  • Do not change the default value of the Port parameter

Is Passive

If the value chosen is Yes, then the Microsoft SQL server (hosting the SQL report server database) under consideration is a passive server in a SQL cluster. No alerts will be generated if the server is not running. Measures will be reported as “Not applicable’ by the agent if the server is not up.

Is NTLMv2 Enabled?

In some Windows networks, NTLM (NT LAN Manager) may be enabled. NTLM is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users. NTLM version 2 (“NTLMv2”) was concocted to address the security issues present in NTLM. By default, the Is NTLMv2 Enabled? flag is set to No, indicating that NTLMv2 is not enabled by default on the target Microsoft SQL server hosting the report server database. Set this flag to Yes if NTLMv2 is enabled on that Microsoft SQL server.

Report Server Database IP, Report Server Database Port, Report Server Database Name

This test queries the report server database to pull details related to the status of the report requests. For this, the test needs to connect to the report server database. To enable this connection, enter the IP address of the report server database against the Report Server Database IP parameter, the port at which the report server database listens against the Report Server Database Port, and the name of the report server database against the Report Server Database Name. To determine the database IP, port, and name, ref er to Configuring the eG Agent to Connect to the Report Server Database.

User and Password

To run queries on the report server database, the test requires to connect to the report server database as a user with SELECT permissions to the ExecutionLog, Catalog, runningjobs, and users tables of that database. For this purpose, you can create a special user on the Microsoft SQL server, grant the required monitoring privileges to that user, and configure the User and Password parameters with the credentials of that user. To know how to create such a user, refer to Configuring the eG Agent with the Permissions Required for Running Queries.

Confirm Password

Confirm the Password by retyping it here.

Domain

By default, none is displayed in the Domain text box. If the 'SQL server and Windows' authentication has been enabled for the server being monitored, then the Domain can continue to be none. On the other hand, if 'Windows only' authentication has been enabled, then, in the Domain text box, specify the Windows domain in which the report server database that this test connects to exists. Also, in such a case, the User name and Password that you provide should be that of a user authorized to access the Microsoft SQL server hosting the report server database of interest.

Report Duration Seconds

Specify the running duration (in seconds) of a report, beyond which that report will be counted as a slow report.

DD Row Count

By default, this parameter is set to 10. This implies that by default the detailed diagnosis of the test reports the top-10 reports in terms of the running time of the reports. If you want detailed diagnosis to include more or less number of reports, then change the value of this parameter.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise suite embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.

 

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Reports executed

Indicates the count of reports that were executed by this user during the last measure period.

Number

 

Distinct reports executed

Indicates the number of distinct reports that were executed by this user during the last measurement period.

Number

Use the detailed diagnosis of this measure to identify the distinct reports, their current status, and the time each report took to execute. This way, you will be able to tell which report took the longest time to execute. For such a report, the cause for the delay in report execution can also be gleaned from the detailed diagnosis - is it because of slow data retrieval? delayed processing of data? or sluggish rendering?

Maximum data retrieval time

Indicates the maximum time taken by the reports of this user for data retrieval.

Seconds

Use the detailed diagnosis of this measure to view the reports that slowed down at data retrieval.

Maximum processing time

Indicates the maximum time taken by the reports of this user for processing.

Seconds

Use the detailed diagnosis of this measure to view the reports that slowed down during processing.

Maximum rendering time

Indicates the maximum time taken by the reports of this user for rendering.

Seconds

Use the detailed diagnosis of this measure to view the reports that slowed down during rendering.

Slow reports

Indicates the count of reports that were executing for a duration greater than the configured Report Duration.

Number

Use the detailed diagnosis of this measure to view the slow reports and where the execution bottleneck of each report is - at data retrieval? during report processing? or during report rendering?

Maximum duration of reports

Indicates the maximum time taken by reports of this user for execution.

Seconds