Daniel Tikvicki

SSRS ReportServer: Service performance counters guide

July 27, 2016 by

SSRS performance counters

Measurements of the Reporting Services service (SSRS) monitoring cycle show which resources the reporting process consumes, and also, specific sets of counters show the particular type of the reporting process deployment in use, Native and SharePoint mode. The entire reports processing occurs in the Report Server, which is the core element of SSRS architecture, and among all features, collaboration with SharePoint platform is the most crucial, because of advantages of report processing and generating reports for SharePoint components.

The SSRS service itself has many performance counters, and that is the reason there are three standardized groups of SSRS performance objects:

  1. MSRS 2011 Web Service and MSRS 2011 SharePoint Mode Web Service – these performance objects with their specific performance counters monitor report server performance and its processing on behalf of interactive report viewing tasks.

  2. MSRS 2011 Windows Service and MSRS 2011 Windows Service SharePoint Mode – to monitor scheduled operations and report delivery, these two groups of performance counters track the operations like subscription, delivery, snapshots of report execution, and history of reports processing.

  3. ReportServer:Service and ReportServerSharePoint:Service – these performance counters are the main topic of this article.

SSRS ReportServer:Service performance counters

Performance counters for ReportServer:Service and ReportSharePointServer:Service, as SharePoint part of ReportServer:Service, display specific measurements related to HTTP activity, which regards the web-related events of the Report Server, like requests, connections, logon attempts, and also the memory management events. In reporting process, some of the resources of the Report server will be dedicated to SharePoint components.

There are seven categories of reporting services performance counters:

  1. Connections
  2. Bytes
  3. Errors
  4. Logon
  5. Memory
  6. Requests
  7. Tasks performance counters
  1. Connections performance counter

    • Active connections: this counter shows the number of active connections on the server at the certain time point.

    Note: The value of this performance counter displays as a numeric, it is based on the number of allowed requests (see under Requests performance counters) and there is no default maximum number of connections. Even though there is no limit, too many connections sometimes can overwhelm the memory resources (if user requested too many complex reports processing), and that can interrupt the flow of the reporting process itself.

  2. Bytes performance counters

    • Bytes Received total and Bytes sent total: these counters show the number of bytes received and sent in total by both Report Manager and the Report Server. Values of these counters show as the actual bytes received/sent (46.137.344, which is 44 MB, e.g.).

    • Bytes received/sec and Bytes sent/sec: they display the number of bytes received/sent by the server per second. (2.097.152/s, which is 2 MB/s, e.g.).

    Note: The measurement of this counter updates after the transfer is done, so its value remains at 0 and then the value shows as increased.

  3. Errors performance counters

    • Errors total: this counter displays the number of errors received in total, during the processing of HTTP requests.

    • Errors/sec: as the previous, this counter shows the number of errors received per second.

    Note: These both measurements (displayed as a numeric value, or numeric value/s, 6 or 6/s, e.g.) can show the website issues including level 400 and level 500 errors.

  4. Logon performance counters

    • Logon Attempts Total and Logon Successes Total: these performance counters show the number of logon attempts and logon successful attempts made from Report Services Windows authentication types.

    • Logon Attempts/sec and Logon Successes/sec: they display the number of logon attempts and successful logons per second.

    Note: If the value of Logon Attempts Total and/or Logon Successes Total is 0, Custom (User) authentication is in use. These counters give an insight of how many logon attempts were successful or unsuccessful while logging to the server.

  5. Memory performance counters

    • Memory Pressure state: this counter shows the current stadium of memory resources of the server. There are five values of measurement:

      1 – Memory is not under pressure
      2 – Low level of memory pressure
      3 – Medium level of memory pressure
      4 – High level of memory pressure
      5 – Memory is extremely under pressure

    • Memory Shrink amount: this counter displays the number of bytes, requested by the server to shrink the memory in use. A value of measurement displays as number of bytes (63.963.136, which is 61 MB, e.g.)

    • Memory Shrink Notifications/sec: it displays the number of notifications that the server triggered in the last second to shrink the memory in use. The value of this counter indicates how often the server memory is pressurized. If the value is 0, memory is not pressurized at particular moment.

    Note: If performance issues occur, the combination of Active connections and this performance counter can help in determination of the potential bottleneck. Also, these performance counters are specific for the ReportSharePointServer:Service performance object.

  6. Requests performance counters

    • Requests Disconnected and Requests Not Authorized: these performance counters show the number of requests which failed because of a communication failure and the number of requests, and it triggers the HTTP 401 status code.

    • Requests Executing: this performance counter displays the number of requests in process at the certain time point.

    • Requests Rejected: it displays the number of requests which were not processed due to insufficient server resources. It also returns a HTTP 503 status code (Server is busy).

    • Requests Total: this counters shows the total number of requests logged by the report server from the report manager since startup (or last reboot of the machine). It also summarizes requests sent to Report Manager and those sent from Report Manager to the report server.

    • Requests/sec: it shows the number of processed requests per second. This value represents the current throughput of the application.

    Note: For a single user, maximum number of allowed requests is 20, by default. Also, value 0 indicates no limit to the number of connections. However, this value can be preset with RSReportServer.config feature.

  7. Tasks performance counters

    • Tasks Queued: this performance counter displays the number of requests currently waiting to be processed. Each of the requests made to the report server corresponds to one or more tasks, and this counter is including only tasks that are active at certain time point. Value of this counter displays as a numeric (7, if 7 tasks are queued, e.g.)

    Note: Deep insight on the server’s activity can be done by looking through measurements from Tasks Queued Requests Queued, Requests Executing and Requests Rejected performance counters.

Useful links:

Daniel Tikvicki
Performance counters, SSRS monitoring

About Daniel Tikvicki

Daniel is a librarian who ran into a vortex of IT world, where he is levitating and learning constantly. He likes books, merely all forms of artistic expression (being a musician/poet himself), and he is underground publisher (fanzines and experimental music). Also, the points of interest include theology, mythology and pseudoscience. Daniel is currently working for ApexSQL LLC as Software sales engineer where he specializes for the BI environment.