"P90 latency," also sometimes referred to as the 90th percentile of latency, is a statistical measure used to understand the performance characteristics of a system, such as a database or a network. It provides a threshold under which 90% of the observed latency measurements fall.
In the context of a database, P90 latency tells you that 90% of your database queries are executed within this specified latency. For example, if the P90 latency for a given set of database operations is 200 milliseconds, it means that 90% of these operations have completed within 200 milliseconds.
P90 latency is particularly useful because it can help isolate and understand outliers. While average (or mean) latency can give you a general sense of how your system performs, it may not fully capture the experience of users if there are occasional instances of high latency. Using P90 (or other percentiles like P95 or P99) can give a much better understanding of these outliers, thus allowing you to optimize your database more effectively.
Here's a simple Python example of how to calculate P90 latency from a list of latency measurements:
In this example,
np.percentile is a function from Python's NumPy library that computes the nth percentile of a list of values.
In conclusion, P90 latency is a valuable metric when assessing database performance as it provides insights into the behavior of the majority of transactions, mitigating the impact of extreme outliers that could skew an average latency calculation.