Networking
Faster websites and apps lead to a better user experience. In order to be able to create faster user experiences we need to understand the inner workings of one of the biggest contributors to sites and apps being slow, the network that connects the client a user is interacting with and the server (or peer) that has control over the data or services the user needs to fulfill their needs.
There are two critical components that determine the performance of all network traffic:
- Latency: Time between the source sending a packet to the destination receiving it
- Bandwidth: Maximum throughput of a logical or physical communication path
What contributes to latency?
There’s many things that contribute to the latency a user experiences when interactive with a service on the internet:
- Propagation delay: Time required for a message to travel from its source to its destination. It is a function of the distance over the speed at which the signal propagates.
- Transmission delay: Time required to push all the packets’ bits into the link. It is a function of the message length and the data rate of the link (bandwidth)
- Processing delay: Time required to process the packet header, check for errors and determine the packet’s destination
- Queueing delay: Time an incoming packet is waiting in a queue before being processed
Examples of latency
- Latency between NYC and New Zealand ~ 200 ms
Resources
Written by Jaime González García , dad, husband, software engineer, ux designer, amateur pixel artist, tinkerer and master of the arcane arts. You can also find him on Twitter jabbering about random stuff.