Date last reviewed: 2024.03.25

Document scope

Standardise and provide benchmarking procedure that can be easily repeated and provide relevant CDN metrics

Glossary:

Request structure

Scenario: client send a GET request to a DN for an image, here’s the sequence of steps

  1. Socket Initialization: This is the time taken to prepare the request on the client side before it is sent. I will denote this time with
  2. DNS Lookup: The time spent in resolving the domain name of the URL into an IP address.
  3. TCP Handshake: This represents the time taken to establish a TCP connection between the client and the server.
  4. SSL Handshake: If the connection is over HTTPS, this is the time taken for the SSL/TLS handshake, which establishes a secure connection.
  5. Transfer Start: This is the point at which the first byte of the response is received by the client. It is effectively the end point for calculating TTFB.
  6. Download: This is the time taken to download whatever asset the client has requested starting from when the first byte has been received by the client

Detail relevant metrics for Distributor nodes in our CDN:

<aside> 💡 Ping RTT: this values is obtained by executing a ping DNS_NAME on the command line and measure the Round Trip Time (RTT) taken by the request with minimum data to travel from the client to the DN to and back. This measures latency in the most basic sense, trying to reduce impact of points 5-6 in the measurement

</aside>