MySQL SQL Workload Test

A resource-hungry or a long-running query is one of the main reasons for performance degradation of the target database server instance. When such queries execute on the server, they hog almost all the available resources or keep the resources locked for long time periods, thus leaving little to no resources for carrying out other critical database operations. This can significantly slowdown the database server and adversely impact user experience with the server. To ensure peak performance of the target MySQL database server at all times, such queries should be rapidly identified and quickly optimized to minimize resource usage. This is where the MySQL SQL Workload test helps.

At configured intervals, this test reports the maximum number of internal on-disk temporary tables created by the server while executing statements. This test also reports how long did a query take for execution and how long did a query spend waiting for table locks. In addition, this test also throws light on the count of table scans that happened on the database server instance. Using the detailed diagnostics of this test, administrators can figure out inefficient queries and proceed to optimize them to enhance server performance.

Target of the test : A MySQL server

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for the target database server instance being monitored

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The IP address of the MySQL server.

Port

The port at which the specified host listens.

Database

Specify the name of a database on the target MySQL database server being monitored

Username and Password

The eG agent has to be configured with the credentials of a user who has server-wide Process and Select privileges on the monitored MySQL server. To know how to create such a user, refer to Pre-requisites for Monitoring the MySQL Server topic.

Confirm Password

Confirm the password by retyping it here.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Maximum temp tables created on disk

Indicates the maximum number of internal on-disk temporary tables created by the server while executing statements.

Number

In some cases, the server creates internal temporary tables while processing statements. Users have no direct control over when this occurs. If an internal temporary table is created as an in-memory table but becomes too large, MySQL automatically converts it to an on-disk table.

The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan and SQL text.

Maximum wait time for table lock

Indicates the maximum time spent by a query while waiting for a table lock.

MB

If the value of this measure is high, there may be an impact on the performance of the database server. To improve the performance, administrators need to optimize the queries, either split one / more tables or use replication.

The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan and SQL text.

Maximum query duration

Indicates the maximum time duration taken by the top query for execution.

 

The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan and SQL text.

Using the detailed diagnosis, administrators can determine the top 5 queries based on the execution time.

Table scans

Indicates the total number of table scans that happened on the database instance.

Number

The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan and SQL text.