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 CPU and memory resources utilized by a query for execution. This test also throws light on the time duration taken by a query take for execution. 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
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 |
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:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Maximum query duration |
Indicates the maximum time duration taken by the top query for execution. |
Seconds |
The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, CPU percentage, memory percentage, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan, Process ID, Thread OS ID, Username, Host name, Connection type and SQL text. Using the detailed diagnosis, administrators can determine the top 5 queries based on the execution time. |
Maximum CPU percentage |
Indicates the maximum percentage of CPU consumed by a query for execution. |
Percentage |
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. The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, CPU percentage, memory percentage, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan, Process ID, Thread OS ID, Username, Host name, Connection type and SQL text. |
Maximum memory percentage |
Indicates the maximum percentage of memory consumed by a query for execution. |
Percentage |
The detailed diagnosis of this measure lists the Thread ID, Statement ID, Schema name, Query duration, CPU percentage, memory percentage, Table lock wait time(Seconds), Temp disk tables created, Temp tables created, Rows sent, Rows examined, Select scan, Sort scan, Process ID, Thread OS ID, Username, Host name, Connection type and SQL text. |