Most business critical applications continue to use structured data that can be stored in relational databases, and they use SQL to write to or read from those databases. The performance of these applications is dependent on the performance of the SQL query operations that originate from the application tier and also on the performance of the database server which processes the queries. Consequently. the performance monitoring of each application requires SQL monitoring at the application tier and SQL server monitoring at the database tier. SQL monitoring metrics gathered from both tiers provide a fuller picture into SQL database performance.
Many APM solutions in the market do not support deep-dive monitoring of application code and SQL queries to supplement higher-level application container monitoring such as Docker monitoring. Unlike these solutions, Dynatrace APM provides code-level and SQL-level visibility for each application transaction using its patented PurePath Technology®. PurePath performs code monitoring of method-level details and SQL monitoring of SQL statements and query times. Measured performance metrics allow root-cause analysis to be carried out efficiently by tracing performance issues down to inefficient code and SQL queries.
SQL monitoring by Dynatrace also involves SQL server monitoring at the database tier. Dynatrace performs SQL server monitoring by using a SQL monitor plugin for the SQL database. Plugins are available for leading SQL databases such as Microsoft® SQL Server®, IBM® DB2®, and Oracle®. Additionally, MySQL performance monitoring is also supported for that popular open source database. These plugins capture metrics such as the number of concurrent user sessions over time, connection time percentiles, the ratio of logical to physical reads, and the number of SQL calls over time. These metrics together with other performance data gathered from the other tiers provide comprehensive insight into transaction performance along the entire application delivery chain.
SQL monitoring by Dynatrace PurePath in the application tier can also reveal database connection inefficiencies. For example, a database connection pool that is not optimally configured can lead to insufficient database connection availability resulting in poor application performance. SQL monitoring can reveal this issue and enable tuning of the database connection pool to improve performance.
In the database tier, SQL monitoring of the database server can reveal resource consumption by the database. In cases where resources like system memory are not fully utilized, database configuration can be modified to utilize more resources optimally. In cases where resources are fully utilized, more resources can be added to increase the performance of the database server.