Date last reviewed: 2024.03.25
Document scope
Standardise and provide benchmarking procedure that can be easily repeated and provide relevant CDN metrics
Glossary:
- DN = distributor node
- SN = storage node
- monitoring server = server deployed with purpose to collect CDN metrics and display them under a grafana and kibana dashboards
- ping location = location where script for data monitoring used in our Ping tool will be deployed
- ping tool = our stack comprising of script deployment and
distribution dwg
dashboard used in decision making when reviewing our geographic coverage
- ✅ = satisfied
Request structure
Scenario: client send a GET request to a DN for an image, here’s the sequence of steps
- 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
- DNS Lookup: The time spent in resolving the domain name of the URL into an IP address.
- TCP Handshake: This represents the time taken to establish a TCP connection between the client and the server.
- SSL Handshake: If the connection is over HTTPS, this is the time taken for the SSL/TLS handshake, which establishes a secure connection.
- 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.
- 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>