Overview: Performance Diagnostics module
Sitefinity provides a built-in Diagnostics module. The Sitefinity CMS Diagnostics module is designed to support a collection of tools for detecting possible performance issues with your application.
The module supports the following profiler tools by default:
- DataAccessProfiler - profiles DataAccess queries.
- BackgroundTasksProfiler – profiles background tasks that are triggered in Sitefinity. This includes scheduled tasks, tasks related to the notification service, etc.
- CompilationsProfiler- profiles compilation of pages that occur in Sitefinity.
- HttpRequestProfiler – profiles the HTTP requests to both frontend and backend pages of Sitefinity sites.
The module collects diagnostics information which is stored in an additional database. You can use this diagnostics information to identify the reasons for slow page load or issues with HTTP requests, scheduled tasks, etc. The Diagnostics module also has a suggestion engine that provides tips on how you can improve the performance of the site.
PREREQUISITES: To install and use the Diagnostics module, you must comply with the following:
- Microsoft SQL Server (or SQL Server Express) 2008 R2 or a newer version.
- The credentials that you use to work with the module must have administrative permissions, otherwise, you cannot use the module and database profiling.
- The credentials that you use to connect to the database must have create database permissions on the database server in order to create a separate database for persisting the tracing results.
If the user installing the Diagnostics module does not have database permissions, you can do one of the following:
- The Administrator can create the database for the tracing information in advance and also create the connection string to the database.
- The user can use the project's default database to persist tracing information. You must also change the Diagnostics module default database connection string with the project's default database connection string.
We do not recommend this scenario, since the default database will contain trace information and can get very large.
- For more information, see Administration: Diagnostics module settings » Database connection string for the Diagnostics module.