The Concepts of Latency
Maintaining good user experience is a simple yet challenging requirement with many subjective measures. Since this is a blog for gamers, we focused on gamer experience which requires good latency between game clients and game servers. RTT(Round Trip Time), mostly known as PING performance among gamers, is a measure of the time taken for a data packet to travel back and forth between source(client PC) and destination(Game Server).Game clients software measures this by simply sending echo packets to destinations and wait for it to receive the reply and calculate the time taken.MyRepublic Engineering uses similar technique. The only difference is we use an open source tool called “Smokeping
” that plots the results of every echo packets on the graphs. This helps us graphically present the network latency to a particular destination.
How to Read Smokeping Graphs
First, let’s try to understand the basics of how Smokeping works.The following is the excerpt from official Smokeping web site, Smokeping – Reading the Graphs
. We have modified the excerpt a little so that it makes more sense to our gamers.Smokeping is a latency measurement tool. It sends test packets out to the net and measures the amount of time they need to travel from one place to the other and back. For every round of measurement, Smokeping sends several packets. It then sorts the different round trip times and selects the median, (ie. the middle one). This means when there are 10 time values, value number 5 is selected and drawn. The other values are drawn as successively lighter shades of gray in the background (smoke). Sometimes a test packet is sent out but never returns. This is called packet-loss. The color of the median line changes according to the number of packets lost.All this information together gives an indication of network health. For example, packet loss is something, which should not happen at all. It can mean that a device in the middle of the link (in general either network or device along the path
) is overloaded. Heavy fluctuation of the RTT(round trip time
) values also indicate that the network along the path is overloaded. This shows on the graph as smoke; the more smoke, the more fluctuation.Smokeping is not limited to testing just the roundtrip time of the packets. It can also perform some task at the remote end (“probe”), like download a webpage. This will give a combined ‘picture’ of webserver availability and network health.
How does it help us maintain good user experience?
There are a few factors that affect Smokeping results.
Caused by insufficient capacity somewhere along the path, network outage such as submarine cable breaks, etc., along the path
- Forward path suboptimal routing
Due to some routing configuration along the path, the packet travelling from client to server is not taking optimal path
- Return path suboptimal routing
Due to some routing configuration along the path, the packet returning from server to client is not taking optimal path
MyRepublic Engineering team constantly monitors the Smokeping results to the most popular game servers listed here on this page and take necessary action whenever necessary.
The actions may include –
- Influence the forward and return path by tuning routing configuration
- Coordinate with our immediate upstreams to ensure the forward path towards these game servers are optimum
- Coordinate with other ISPs (e.g: upstream providers of game hosting) to optimize both forward and return path
- Ensure there is enough capacity in our core and access network
- Ensure there is enough capacity in our upstream providers
If you are interested in signing up MyRepublic Broadband Service, please click here.