asp.net Application Performance Statistics class
Most of the information about ASP.net application performance statistics is recently sorted into a comprehensive document called "improvement." NET application performance and extensibility ". The following table describes some important statistical classes that monitor and optimize the performance of asp.net applications, including Reporting Services.
Performance objects |
Statistics class |
Instance |
Describe |
Processor |
% Processor Time |
__total |
% Processor Time monitors the CPU utilization of the Web server computer. Low CPU utilization or inability to increase CPU utilization, regardless of customer load, means that there is a competition between resources and locks on your Web application. |
Process |
% Processor Time |
aspnet_wp or w3wp, dependent on the version of IIS |
Asp. The percentage of processor time consumed by the net processing. When you compare performance under a standard load with a previously captured baseline, you reduce the need for lower processor requirements and improve scalability in the statistics class. |
Process |
Working rules |
aspnet_wp or w3wp, dependent on the version of IIS |
Asp. NET the amount of memory used when activating. Although application developers can best control the amount of memory required for the application, managers can significantly affect the amount of memory usage by adjusting the session time-out period. |
Process |
Private bytes |
aspnet_wp or w3wp, dependent on the version of IIS |
The private byte is the byte size of the current memory, which is occupied by this processing and cannot be shared with other processing. Some bottlenecks can lead to more memory than expected for work processing. Suddenly a statistic class fell to 0 stating that the ASP.net application started restarting due to unpredictable problems. To verify, monitor the ASP.net application restart. |
asp.net applications |
Request/sec |
__total |
Allow you to verify that the request is processed at the fastest speed. If the number of requests per second is less than the number of requests per second, the queue is generated. The description has exceeded the maximum number of requests. |
asp.net applications |
Error statistics |
__total |
The total number of errors that occurred during the execution of the HTTP request. Includes all transformations, compilations, and run-time errors. The statistics class is a summary of these errors. A good functional Web server should not produce many errors. If an error occurs on the ASP.net Web application, their presence may skew the actual results. |
asp.net |
Request Execution Time |
|
The time displayed in milliseconds is the time that the last request page was transmitted to the user. The time of this statistic class will be a little larger, a more comprehensive measurement from start to end request time. If the statistics class shows a lower average than the baseline, scalability and application performance are improved. |
asp.net |
Application restart |
|
The number of times the Web server has been restarted during the life cycle. Each application OnEnd event and application restart increases simultaneously. Application restarts typically occur when changing web.config files, changing the application's in directory, or having too many changes in the Web Forms pages. Unexpected additions to the statistics class to show that unexpected problems are causing web applications to shut down In this case you should investigate the cause of the accident. |
asp.net |
Request queue |
|
The number of requests waiting for a service in the queue. When a request is made in the queue, the number of requests exceeds the maximum size of the request that can be processed. By default, the value of this statistic class is 5,000. You can change the value in the machine's config file. |
asp.net |
Worker process Restart |
|
The number of times the worker process has been restarted on the server. If a worker process fails unexpectedly or intentionally loops, you can restart the worker process. When there is an unexpected increase in the statistical class, you should investigate the cause. |
In addition to the core controls in the previous table, the following table's performance statistics class provides an added value when you try to diagnose specific asp.net application performance issues.
Performance objects |
Statistics class |
Instance |
Describe |
Asp. NET application |
Pipeline Instance Count |
__total |
Number of request pipes for a specific asp.net application. Because only one execution thread can run within a pipe, the data gives the maximum number of concurrent requests. In most cases, when the data is below load it is best to lower it, indicating that the processor is well utilized. |
. NET CLR Exceptions |
# of Exceps Thrown |
|
The number of errors to display in the application. Unexpected increases may present performance problems. Just being wrong is not a reason to be concerned because some code paths rely on normal-running errors, such as HttpResponse. The relocation method ThreadAbortException by throwing an error that cannot be caught. This is more efficient for tracking asp.net applications. Determine whether an application generates an unexpected error by using the total error statistic class. |
System |
Context Switches/sec |
|
Measures the rate at which the thread context is converted through all processors on the Web service computer. If the statistic class value is too high, it means that there is a lock or conversion competition between the user and the core mode through the thread. An in-depth investigation through a simple tool should be authorized. |
Report Service Performance Statistics class
The reporting service includes its own performance statistics classes and resource consumption. There are two objects on the Windows performance monitoring tool that enable you to monitor the status of instance and part activity: The MSRS Web service and MSRs Windows service object. MSRs the Web Service energy object includes a set of statistical classes for tracking Report service processing.
These statistics classes need to be reset when ASP.net stops the Web service. The following table provides a list of statistical classes that can be used to monitor report server performance while also describing the goals.
Performance object: RS Web Service
Statistics class |
Describe |
Active sessions |
The number of sessions active. This statistic class provides the number of browse sessions that are not extended. This is not the number of simultaneous requests, which are stored in the reportservertempdb database. |
Number of Cache Hits/sec |
The number of report requests per second retrieved from the directory. When this value increases, and the memory cache hit rate does not increase, it means that the report data is not processed, but the page is displayed again. When the federated memory cache is hits/sec, use this statistic class to determine whether the resources used for caching, disk, or memory are sufficient. |
Cache Hit Failures/sec |
Returns the number of requests that failed the report from the directory. When federated memory cache is misses/sec, use this statistic class to determine whether the resources used for caching, disk, or memory are sufficient. |
First Session Request/sec |
The number of new user sessions that start from the report server cache per second. |
Memory Cache Hits/sec |
The number of times per second that the report was retrieved from the memory cache. The memory cache is part of the report services cache, which stores reports that are displayed in memory or in temporary files. This will provide the best performance for the request because there is no need to process it. When the memory cache is available, the report server cannot query SQL Server for caching content. |
Memory Cache Misses/sec |
The number of times per second that a report cannot be retrieved from the memory cache. |
Next Session Request/sec |
The number of next session requests that can be made per second |
Report requests |
Number of reports activated and processed by the report server |
Report Execution/sec |
The number of reports executed per second. This statistic class provides statistics on the amount of reports. This value can be used to compare the time that the report request was executed from the cache. |
Request/sec |
The number of requests per second issued to the report server. This statistic class tracks all types of requests processed by the report server. |
Total number of cache hits |
The total number of cache hits for report requests since service startup. When the Web service is stopped, the statistics class is reset. |
Total number of cache misses |
The total number of cache misses for report requests since service startup. When the Web service is stopped, the statistics class is reset. You can determine whether disk space and memory are sufficient. |
Total number of memory cache hits |
The total number of memory cache hits from the report request since the service started. When the Web service is stopped, the statistics class is reset. The memory cache is part of the cache, and the report is stored in CPU memory. When the memory cache is available, the report server cannot query SQL Server for caching content. |
Total number of memory cache misses |
The total number of memory cache misses from the report request after the service was started. When the Web service is stopped, the statistics class is reset. |
Total number of processing failures |
The total number of processing failures for report requests since the service started. When the Web service is stopped, the statistics class is reset. Processing failures may originate from a report processor or any extension. |
Total number of requests executed |
The number of successful reports that were executed since the service started. |
Total number of requests |
The total number of requests since the service started. |
The RS Windows Service Energy object includes a set of statistical classes that is used to track report processing, which is initialized by a predetermined operation. Scheduled operations include subscription and delivery, report execution snapshots, and report history. These performance statistics are listed here for ease of use when the Microsoft workload does not include any scheduled or delivered operations. Performance objects are used to monitor the report Server Windows service. If you are on a scale-out configuration, the report server will be applied to the selected server instead of the entire outward-extending configuration.
These statistics classes are reset when the application domain loops. The following table provides a list of statistical classes that are used to monitor bookings and deliveries, as well as descriptions.
Statistics class |
Describe |
Empty Cache Count/sec |
Number of empty caches per second |
Number of Cache Hits/sec |
Number of requests per second cached by the report |
Number of Cache misses/sec |
The number of requests per second that failed to read the report from the cache |
Delivery Number/sec |
Number of reports delivered per second from any delivery range |
Number of events/sec |
The number of events processed per second. The events monitored include snapshotupdated and timedsubscription. |
Memory Cache Hits/sec |
Number of times per second that the report was retrieved from the memory cache |
Memory Cache Misses/sec |
Number of times the report could not be retrieved from the memory cache per second |
Number of report requests |
The number of reports processed and activated by the report server. Use this statistical class to evaluate caching strategies. The request is significantly more than the report execution. |
Report Execution Count/sec |
Number of reports successfully executed per second |
Number of Snapshot updates/sec |
Number of snapshots scheduled to be updated per second |
Total number of app domain loops |
After the service is opened, the total number of app domain loops |
Total Cache purge Count |
Total number of Report server cache updates since service is turned on |
Total number of cache hits |
The total number of requests from the cache that the report was received from after the service was opened |
Total number of cache misses |
The total number of reports that cannot be obtained from the cache after the service is turned on. Use this statistic class to determine whether more disk space or memory is required. |
Total number of deliveries |
Includes all deliveries. |
Total number of events |
The total number of events since the service was opened. |
Total number of memory cache hits |
The total number of reports that have been received from the memory cache since the service was opened. |
Total number of memory cache misses |
The total number of reports that were not available from the memory cache after the service was opened. |
Total number of processing failures |
The total number of report processing failures since the service was opened. The processing failure may be due to a report processor or any extension. |
Total number of rejected threads |
The total number of rejected threads, due to asynchronous processing and subsequent processing in the same thread. |
Total number of report executions |
The total number of report executions. |
Total number of requests |
The number of successful reports that have been executed since the service was opened. |
Total number of snapshot updates |
The total number of snapshot updates since the service was opened. |
If you have performance issues with Reporting Services, it is helpful to note the following performance statistics classes:
asp.net, asp.net applications, processes, systems, memory, physical disks,. NET exceptions,. NET memory,. NET load,. NET CLR Locks and Threads, and. NET CLR data.
Optional report Service performance statistics class
The following is a set of performance statistics classes that apply to Rs Web services, but are not installed by default. These can provide a reference for you when performing performance optimization. To implement these, execute the following statement in the Command box:
Installutil.exe/u ReportingServicesLibrary.dll, followed by: Installutil.exe ReportingServicesLibrary.dll
After successful execution of this statement, you first need to modify your path, including Microsoft. The directory location when the NET Framework is installed. It then executes the preceding statement from the directory, which contains the ReportingServicesLibrary.dll file. By default, this is installed in the C:Program filesmicrosoft SQL servermssqlmssql.instancereporting Servicesreportserverin. These statistics classes are not all listed.
Number of active database connections |
The number of active database connections in a given time. Refers only to the number of connections to the report service directory. |
Number of active data source connections |
The number of active database connections in a given time. The number of connections to the source data that the running report is connected to. |
Number of active threads |
The number of currently active threads. In a Web service, it contains the threads associated with the service request. In the delivery service, it contains worker threads, maintenance, and instrumentation threads. |
Number of bytes |
The number of bytes returned to the customer when the current report was displayed for the last request. Similar to the corresponding execution log entry. |
Number of rows |
The number of rows returned by the current report for the last request. Similar to the corresponding execution log entry. |
Compress time |
The number of milliseconds spent on compressed snapshots and PDFs for the last request. |
Data source Access Time |
The number of milliseconds spent accessing report data source information for the last request. Includes executing queries and obtaining results. Similar to the corresponding execution log entry. |
Database time |
The number of milliseconds spent accessing the report server directory information for the last request. |
Processing time |
The number of milliseconds spent on report processing for the last request. This is similar to the corresponding execution log entry. |
Show time |
The number of milliseconds spent on the report display for the last request. This is similar to the corresponding execution log entry. |
Report Service Execution Log
The report Service execution log is an additional source of information for monitoring Report service performance. The log includes report information that is performed by the server or by multiple servers that are extended outward. You can use the report execution log to find out how long there is a report request, what format is most commonly used, and the percentage of processing time spent on each processing stage. Unlike performance monitoring objects, it does not need to be reset when the application domain loops or asp.net stops the Web service, and the results of the execution log remain intact unless you reset them.
Another advantage of using the execution log is that it can better know how much retrieval time, how much processing time, and how long the report takes to form the request format. These details are invaluable for identifying and debugging performance bottlenecks.
The report execution log captures the information:
The name of the report server instance that handles the request.
The report identification.
User identification.
The request type of the user or system.
Display format.
Executes the parameter values for the report.
The number of start and stop times indicates the duration of the report process.
Know the percentage of time the report spends in retrieving, processing, and forming the requested format.
Report execution Source (1= live, 2 = cache, 3 = snapshot, 4 = historical data).
State, successful or error code, if multiple errors are concurrent, only the first error can be logged.
Displays the byte size of the report.
The number of data rows returned by the query.
Report Service log data about report execution exists as a table in the directory. This table does not provide its own complete information, nor can it give the user a clear format of the data. To view report execution data, you should first run the Integration Service pack, which comes from the report services sample. The data is then extracted from the execution log and placed in a table structure, which is easy to query.
This is the first and most recommended way, because the table structure inside the directory may change with the version of the product.
If you need more information on how to install, configure, log access data from the report server, check the article "Querying and Reporting on the Execution log" online.