Performance Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 14: Line 14:
==Latency==
==Latency==


Latency is the minimum time required to get any form of response, even if the work to be done is nonexistent (Martin Fowler, Patterns of Enterprise Applications Architecture). Latency is relevant in remote systems, because it includes the time the request and response to make their way across the wire, and also the time the request is waiting to be handled, on the backend - during which it is '''latent''', awaiting service. Latency and [[#Response_Time|response time]] are often used synonymously, while some authors argues that they are not synonymous ([[DDIA]]).
Latency is the minimum time required to get any form of response, even if the work to be done is nonexistent (Martin Fowler, Patterns of Enterprise Applications Architecture). Latency is relevant in remote systems, because it includes the time the request and response to make their way across the wire, and also the time the request is waiting to be handled, on the backend - during which it is '''latent''', awaiting service. Latency and [[#Response_Time|response time]] are often used synonymously, the length of time it takes something interesting to happen, while some authors argues that they are not synonymous ([[DDIA]]).


* <font color=red>review</font> How NOT to Measure Latency https://www.infoq.com/presentations/latency-response-time
Standard deviation does not have any meaning for a dataset that describes latency. It is not relevant. Latency must be measured in the context of [[#Load|load]], measuring the latency without load is misleading.
 
''Latency'' and ''response time'' are synonymous: the length of time it takes something interesting to happen.
 
Standard deviation does not have any meaning for a dataset that describes latency. It is not relevant.
 
Latency must be measured in the context of load, measuring the latency without load is misleading.
 
<font color=red>
Define saturation.
 
Identify where the saturation point is. Don't run a system at saturation or over.


<font color=darkkhaki>
TO Process:
* How NOT to Measure Latency https://www.infoq.com/presentations/latency-response-time
* Define saturation.
* Identify where the saturation point is. Don't run a system at saturation or over.
</font>
</font>



Revision as of 19:10, 8 November 2021

Internal

Load

Load Parameters

Performance Metrics

Response Time

The response time is the time between a client sending a request and receiving a response. It includes the time the request travels over the network from the client to the backend, the time the request is awaiting service in the backend queue, the service time and the time it takes to travel back to the client. Some monitoring system describe the request time as the time the backend takes to process the request, and in this case the travel time is not accounted for. Response time and latency are some times used interchangeably.

The response time is relevant for on-line system, such as a web site or a mobile application backend.

Latency

Latency is the minimum time required to get any form of response, even if the work to be done is nonexistent (Martin Fowler, Patterns of Enterprise Applications Architecture). Latency is relevant in remote systems, because it includes the time the request and response to make their way across the wire, and also the time the request is waiting to be handled, on the backend - during which it is latent, awaiting service. Latency and response time are often used synonymously, the length of time it takes something interesting to happen, while some authors argues that they are not synonymous (DDIA).

Standard deviation does not have any meaning for a dataset that describes latency. It is not relevant. Latency must be measured in the context of load, measuring the latency without load is misleading.

TO Process:

Throughput

Throughput is the rate at which something can be produced, consumed or processed, in a time unit. Throughput is usually relevant in case of batch processing systems, such as Hadoop, where it describes the number of records that can be processed per second.

Queueing Theory

https://en.wikipedia.org/wiki/Queueing_theory

  • Response Time in Queueing Theory.
  • Service Time in Queueing Theory.

Response time and service time diverge as saturation becomes worse.

Organizatorium

  • Don't censor bad data, don't throw away data selectively.
  • Never average percentiles.
  • Coordinated omission. Coordinate omission usually makes something that you think is a response time metric only represent a service time component.
  • Response Time in Queueing Theory.
  • Service Time in Queueing Theory.
  • xth percentile (quantiles) - the value of the performance parameter at which x% of the request are better; https://www.vividcortex.com/blog/why-percentiles-dont-work-the-way-you-think

Load Generatos