The SQL database is the de facto data storage mechanism for Web and enterprise applications. Although Big Data is propelling the use of NoSQL databases, the SQL database continues to be the mainstream database for a wide range of applications today. Many of these applications run mission and business-critical transactions. Hence, their performance needs to be monitored accurately to mitigate poor productivity and low ROI. For application monitoring to be effective, the SQL databases that applications use must also be monitored by SQL monitoring tools geared toward leading databases such as Microsoft® SQL Server®. For example such tools can perform SQL Server monitoring to ensure that the database servers processing SQL queries maintain or exceed performance requirements, and any performance problems that are detected are remedied quickly.
Dynatrace is a leading provider of application performance management solutions. It provides comprehensive application and infrastructure performance management tools that enable full insight into application transaction performance and database server performance through application monitoring, SQL Server monitoring, and monitoring of other popular structured and unstructured database systems.
As an example, consider a Java performance test. Dynatrace Load, a load testing website, generates user requests that initiate transactions in a Java application that queries a SQL database such as SQL Server. The Java application is monitored by Dynatrace Application Monitoring which captures method-level details as well as SQL statements and query times to the database. In the database tier, Dynatrace performs SQL Server monitoring by using a SQL monitor plugin for the SQL Server database. Plugins are also available for other leading proprietary databases such as Oracle and IBM, and MySQL performance monitoring is also supported for organizations that leverage the open source MySQL database.
Details captured by the plugin and revealed visually in Dynatrace dashboards typically include number of concurrent user sessions over time, connection time percentiles, ratio of logical to physical reads, and the number of SQL calls over time. This SQL Server monitoring data along with the performance data acquired for the rest of the application transaction provides comprehensive insight into the transaction’s performance and is inclusive of the performance of all components and tiers that participated in the transaction. This insight can be complemented with network performance data collected by network performance tools like Dynatrace Data Center RUM for an even fuller picture. Any performance hotspots can be revealed easily through the application, SQL database, and network performance data that is collected and presented on the Dynatrace dashboards.
SQL monitoring of the application and database tiers by Dynatrace yields overall performance improvements for application transactions. Dynatrace Application Monitoring collects performance data on database connections and pools, SQL queries, and query response times at the application tier. These metrics show database access and response times as experienced by the application. SQL Server monitoring at the database tier shows database operational performance. Dynatrace consolidates performance data collected at both tiers to enable correlation of database-related performance issues such as excessive database connections or high I/O with application transaction performance issues such as prolonged transactions or laggy database queries. Correlation of such data enables full visibility into the application transaction chain allowing performance hotspots to be detected and eradicated without any guesswork.