MySql Query Test

This test reports the performance statistics pertaining to the queries executed on the MySQL server.

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 database being monitored

Configurable parameters for the test
  1. TEST PERIOD – How often should the test be executed
  2. Host – The IP address of the MySQL server
  3. Port – The port on which the server is listening
  4. db – the name of a database on the server
  5. Usernameand 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.
  6. Confirm password – Confirm the password by retyping it here.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Query rate:

Indicates the rate at which queries are sent to the server.

Queries/Sec

This is an indicator of server workload.

Slow queries:

Indicates the number of queries that have taken more than the ‘long_query_time’ for execution, during the last measurement period.

Number

This value should ideally be 0. If it remains consistently high, the administrator should look to identify and optimize the slow queries.

Handler read first:

Indicates the number of times the first entry was read from an index during the last measurement period.

Number

If the value of this measure is high, it suggests that the server is doing a lot of full index scans.

Handler read key:

Indicates the number of requests that were received in the last measurement period, to read a row based on a key.

Number

If the value of this measure is high, it indicates that your queries and tables are properly indexed.

Handler read next:

Indicates the number of requests received in the last measurement period, to read the next row in the key order.

Number

This will be incremented if you are querying an index column with a range constraint. This will also be incremented if you are doing an index scan.

Handler read prev:

Indicates the number of requests received in the last measurement period, to read the previous row in the key order.

Number

This is mainly used to optimize ORDER BY... DESC.

Handler read rnd:

Indicates the number of requests received in the last measurement period, to read a row based on a fixed position.

Number

This will be high if you are executing a lot of queries that require sorting of the result. If the value of this measure is high,  then you probably have a lot of  queries that require MySQL to scan whole tables or you have joins that do not use keys properly.

Handler read rnd next:

Indicates the number of requests received in the last measurement period, to read the next row in the datafile.

Number

This will be high if you are performing a lot of table scans. Generally, this suggests that your tables are not properly indexed or that your queries are not written to use the indexes properly.