30 ms was the threshold we had kept for my team at Blinkit. but if you have redis caching enabled and there is not much processing happening sub 10 ms is easily doable.

for smoothness of web applications it should never go more than 100ms and in case if it does, we should take care of engaging the user in other ways.

For example, if our client is in New York, the server is in London, and we are starting a new TCP connection over a fiber link, then the three-way handshake will take a minimum of 56 milliseconds

components

Propagation delay

Amount of time required for a message to travel from the sender to receiver, which is a function of distance over speed with which the signal propagates.

Transmission delay

Amount of time required to push all the packet’s bits into the link, which is a function of the packet’s length and data rate of the link.

Processing delay

Amount of time required to process the packet header, check for bit-level errors, and determine the packet’s destination.

Queuing delay

Amount of time the packet is waiting in the queue until it can be processed.

contributing factors

  1. location/distance
    1. propagation delay
  2. network congestion
  3. protocol efficiency
  4. networking infra

Referenced in:

All notes