Led by John Rula
This is Part 1 of a blog series which looks at the current state of network performance and content distribution on cellular networks. This work attempts to challenge conventional wisdom on the state of mobile content distribution, specifically that little can be done to improve outside of the cellular network. Part 1 looks the performance on mobile devices of Domain Name Services (DNS), an intergral often overlooked service required for the internet to function.The Domain Name Service
The Domain Name Service is a globally distributed system that translates a human readable hostname (i.e. facebook.com) to its routable IP addres (e.g. 22.214.171.124). Nearly all requests form a device must first resolve a domain name in order to download content, and the importance of domain name services is only increasing. According to a report by Arbor Networks last year, the number of DNS requests sent across mobile operators has quadrupled between 2010 and 2012. Aside from an increase in mobile network use, mobile websites have begun to incorporate an increasing number of unique domain names in their sites for items such as ad networks, analytics providers and social networking plugins.
Public DNS services like GoogleDNS or OpenDNS provide an alternative to ones Local DNS service provided by their internet service provider. These services popularity has grown recently due to claims of higher reliability, better performance, and a more secure infrastructure. A low performing DNS service can kill your performance and any DNS failures can render your device practically useless. Current cellular operator policy prohibits users from selecting their own DNS service without first rooting their device.Performance of Public DNS on Cellular Networks
We investigated the performance of public DNS services GoogleDNS and OpenDNS against the cellular operators provided Local DNS. Figure 1 shows the median, 75th and 90th percentile times taken to perform a DNS resolution for each of the public DNS services with the provided Local resolver. We see the Local DNS service performing better around 80% of the time, with a long tail which peforms much worse than the public DNS services (almost twice the time at the 90th percentile). These results seem to follow those done on the wired internet, where the public DNS services are typically located farther away from clients, and therefore have a longer latency between them.
(smaller is better)
Another factor affecting network performance including DNS performance is the radio that your phone is currently using. Most phones have several different radios which it can use at any time (e.g. LTE, EVDO (3G), or CDMA 1x (2G)). Each of these radios have different performance capabilities and cause different levels of network performance. Figure 2 below shows the DNS resolution time to each users Local resolver for each radio technology used.
(smaller is better)
While 4G technologies like LTE clearly display the best performance, we are not always connected with 4G radios. We looked at the percentage of time users are connected to each radio type. Figure 3 shows the proportion of time CDMA users are connected to each radio type: LTE, EVDO Rev A, EHRPD and CDMA 1x. While 75% of the time is spent in LTE for our users, we suprisingly see that nearly 10% of time is spent connected to CDMA 1x, which has an average DNS resolution time of 1.25 seconds! It seems that regardless the number of signal bars you have, the type of signal is even more important for your network performance.
We have released a tool called Namehelp Mobile which measures the performance of your ISP provided DNS service against several public DNS options. In addition, it also measures the role that your DNS service has with Content Delivery Networks (CDNs) in mobile networks, and how your ISP provided DNS service can actually deliver worse performance in many cases. Read more about this in the second part of this series.