IOPS postgresql monitoring - meaning of absolute values in graphs
I have a slight problem understanding the metrics for IOPS.
What do the absolute values/percentages in graphs represent?
These are the absolute values
This is the percentual usage
Both graphs are from the same time span and with 5-minute granularity.
The server`s specs are:
- Azure Database for PostgreSQL flexible server
- General Purpose, D8s_v3, 8 vCores, 32 GiB RAM, 1024 GiB storage
- 5000 IOPS
- plus one readonly replica with the same specs
If the first graph shows real IOPS (average per second) and we have the specs 5000, then the usage before 2PM -> 10+K should reach 100% (or more).
We can see a peak in the second graph as well but it is below 50%, so the disk should not be overloaded according to the second graph.
The question is:
What do the values in the first graph represent? What does the avg of absolute values of IOPS mean? Are IOPS logged and measured every second -> the first graph is the real representation? If yes, then what does the second graph represent? Why is there such low percentual usage? Which graph is more relevant to see if we are experiencing issues with IOPS?
We have tried to understand it better using the disk depth queue metric, but the units/measurements are unclear. What do the absolute values for disk depth queue mean?
Did < 40 disk IO operations wait in the queue at the peak before 2PM? How was this measured?
@Ľubomíra Trnavská The average of absolute values of IOPS in Azure Database for PostgreSQL - Flexible Server refers to the average number of input/output operations per second. IOPS are logged and measured every second.
I tried to create a flexible server with the same option, but I am seeing different number of IOPS see number in the graph highlighted in yellow.
Sign in to comment
Hi, thank you for your reply. I have a few questions still, though. :)
The IOPS depends on the disk size, the values are here https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-compute-storage#maximum-iops-for-your-configuration We have 1024 GiB, and therefore 5K IOPS.
If the absolute values are correct, then what does the other metric represent?
Disk IOPS Consumed Percentage (Preview)
Should not these be "the same"?
Because if the absolute values are right, then the average was close to 10K which is 200% of the given 5K. But according to the percentage metrics, at the same point, it shows only 12% usage. Is this percentual metric incorrect?
@Ľubomíra Trnavská Thank you for raising this question.
IOPS - Is a calculated metric that is sourced from Linux DISKSTATS command (1 sec sample)
Disk IOPS Consumed Percentage - Is default Azure VM Storage IO Utilization Metric – details here
This is being investigated. I will let you know once I got a result. Thank you for raising this question.