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
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:
|
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 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:
|
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 |
|