SQL SSRS Memory Status Test
Reporting Services responds to system resource constraints by adjusting the amount of memory that is allocated to specific applications and types of processing requests. Applications that run in the Report Server service and that are subject to memory management include:
- The web portal, a Web front-end application for the report server.
- Report Server Web service, used for interactive report processing and on-demand requests.
- A background processing application, used for scheduled report processing, subscription delivery, and database maintenance.
Memory management policies apply to the Report Server service as a whole, and not to individual applications that run within the process.
If there is no memory pressure on the system, each server application requests some memory at startup, in advance of receiving requests, to deliver optimum performance when requests are eventually received. As memory pressure builds - i.e., as memory availability gradually navigates from a no pressure state to a low, medium, or high pressure state - the report server adjusts its process model, so requests can be prioritized, memory usage can be shrunk, and the pressure can be eased.
Sometimes, if the memory pressure is very high, the report server even resorts to dropping processing requests before they complete. Administrators can fine-tune configuration settings on the report server to make sure this does not happen. However, these settings need to be fine-tuned often, so they are in line with the dynamic memory demands of the report server. For this, administrators need to continuously track variations to the memory pressure state of the report server, figure out how often the server experiences memory contentions, and understand how severe the pressures were. This is where the SQL SSRS Memory Status test helps!
This test reports the current memory pressure state of the report server. By tracking this measure over time, administrators can figure out if memory pressure remains steady at a particular state or if it oscillates between states. In addition, the test also reports how often in the last second the report server requested for memory usage to be shrunk and how much memory was shrunk in the process. These are good indicators of how often the report server experienced a memory crunch. Using these useful pointers, administrators can easily figure out which configuration settings on the report server need to be tweaked so that requests are not dropped.
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 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. |
Measurement | Description | Measurement Unit | Interpretation | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Memory pressure |
Indicates the current memory pressure state of the report server. |
|
The values that this test reports and their corresponding numeric values are discussed in the table below:
To know how the report server processes requests at each of these memory states, refer to the table below:
Note: By default, this measure reports the Measure Values listed in the table above to indicate the current status of this index. The graph of this measure however, represents the same using the numeric equivalents. |
||||||||||||||||||||
Memory shrink amount |
Indicates the size of memory in use that the report server requests to shrink. |
MB |
|
||||||||||||||||||||
Memory shrink notification |
Indicates the number of notifications that the server issued in the last second to shrink the memory in use. |
Number |
A high value for this measure indicates that the memory pressure on the Report server is in high. By tracking the value of this measure over time, you can figure out how often the server experienced memory pressure. If the frequency of memory contentions increase, it could cause processing requests to be frequently dropped by the server without completing. To avoid this, you may want to fine-tune one/more of the following configurations:
Although you can change the configuration settings, doing so will not improve report processing performance. The best way to improve server performance is to deploy the report server or individual report server applications on dedicated computers. |