Barbarian Meets Codingbarbarianmeetscoding

WebDev, UX & a Pinch of Fantasy

2 minutes read

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


Jaime González García

Written by Jaime González García , Dad, Husband, Front-end software engineer, UX designer, amateur pixel artist, tinkerer and master of the arcane arts. You should follow him on Twitter where he shares useful stuff! (and is funny too).Jaime González García