eG Monitoring
 

Measures reported by PgWorkLoadTest

Nothing can degrade the performance of a Tibero database server like a resource-hungry or a long-running query! When such queries execute on the server, they either hog almost all the available CPU, memory, and disk 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 Tibero database server at all times, such queries should be rapidly identified and quickly optimized to minimize resource usage. This is where the PgWorkLoadTest helps.

At configured intervals, this test compares the usage levels and execution times of all queries that started running on the server in the last measurement period and identifies a ‘top query’ in each of the following categories - CPU usage, memory usage, disk activity, and execution time. The test then reports the resource usage and execution time of the top queries and promptly alerts administrators if any query consumes more resources or takes more time to execute than it should. In such a scenario, administrators can use the detailed diagnosis of this test to view the inefficient queries and proceed to optimize them to enhance server performance.

Outputs of the test: One set of results for the target PostgreSQL server being monitored.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
MaxPhysicalReads Indicates the number of physical disk reads performed by the queries per execution. Reads/execution

If the value of this measure is abnormally high, you can use the detailed diagnosis of this measure to view User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.

MaxPhysicalWrites Indicates the number of physical writes performed by the top query per execution. Writes/execution

The detailed diagnosis of this measure lists User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.

MaxElapsedTime Indicates the running time of each execution of the top query. Seconds

If the value of this measure is high, you can use the detailed diagnosis of this measure to view the top-5 (by default) queries that are taking too long to execute. From this, you can easily pick that query with the maximum execution time. You may then want to optimize the query to minimize execution time.

The detailed diagnosis of this measure lists User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.

MaxMemoryUsage Indicates the amount of memory used by the top queries for execution. MB

The detailed diagnosis of this measure lists User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.

MaxReadLatency Indicates the maximum time taken to perform reads by the top queries. Seconds/read

The detailed diagnosis of this measure lists User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.

MaxWriteLatency Indicates the maximum time taken to perform writes by the top queries. Seconds/write

The detailed diagnosis of this measure lists User ID, Query ID, Physical reads per execution, Physical writes per execution, Calls, Shared block hits, Shared block dirtied, Memory usage(in MB), Memory usage per execution(in MB), Read latency, Write latency, Block read time, Block write time, Elapsed time per execution(in seconds), SQL text.