Today, more than ever, applications need to be prepared to run over mobile infrastructure. Of course we expect mobile apps to run over 3G/4G networks, but mobile networks are also used by laptops and tablets to access websites and traditional PC applications. All applications need to be mobile ready. Why does this matter? Mobile networks have inherently different characteristics than traditional wired networks, and these traits can significantly impact the way applications perform. Developers need to test applications for mobile compatibility to ensure that the end-user experience will not suffer in a mobile environment. There are four key network characteristics that impact application performance. In order to ensure your application will deliver a positive user experience over a mobile connection, it is helpful to understand these characteristics and how they can vary uniquely within mobile environments. These characteristics are:
|Throughput||Often thought of as the 'speed'of the network, this is the number of bits-per-second delivered. The throughput achieved over mobile networks can vary greatly, and mobile networks deliver asymmetric throughput with downlinks (towards the device) almost always significantly faster that uplinks.|
|Round Trip Time (RTT)||RTT is the time it takes a packet to go back-and-forth over the network. This traversal time significantly impacts many applications. Consider that loading just a single webpage can require 40+ connections to be made,each requiring a 3-way TCP handshake impacted by RTT. This means that without optimization a single page load can be stalled by more than 120-times the RTT time.|
|Jitter||Jitter is the variation in how long a packet takes to traverse the network. Jitter disrupts the fluidity of the packet flow and can cause problems for sensitive applications like voice, video and gaming.|
|Packet Loss||The loss of data due to wireless interference, degraded signal integrity and network congestion, means some packets never get through the network. While wired networks are largely lossless, mobile networks almost always introduce packet loss.|
Mobile networks perform more poorly than their wired counterparts on all four performance metrics (throughput, RTT, jitter and loss). But that's not the worst of it. Even more significant is that all four of these metrics vary widely in mobile environments. Since bandwidth is shared and mobile devices are not stationary, mobile networks are constantly impacted by ever-changing circumstantial conditions, including:
Given all these variables, the performance of mobile networks varies widely and even minute-by-minute. Various studies have demonstrated real-world performance variations of over 1000% across all the various performance metrics. The following sampled performance measurements can give you an idea of the wide variation to be expected in real world environments:
|Round Trip Time (RTT)||20 to 200ms||50 to 500ms|
|Jitter¹||0 to 6ms||0 to >10ms|
|Packet Loss²||0.0 to 0.40%||0.0 to 0.44%|
The wide variation of mobile network performance has a significant impact on the usability of applications, so it has become essential to test and optimize applications specifically for mobile devices. Unfortunately, testing applications over actual wireless networks is both impractical and insufficient. Even if you could build a lab with all the various combinations of mobile devices and service providers, your testing would provide only limited coverage since wireless performance varies so unpredictably with factors like location.
IWL's Maxwell allows developers to address the needs of mobile testing by simply and cost effectively emulating mobile network performance in all its variations. By inserting Maxwell into your test configuration, you can verify network performance and user experience across the full range of 3G and 4G mobile network scenarios.
This simple lab configuration can enable simulation of the full range of mobile network scenarios, from an overloaded legacy 3G network to a state-of-the-art 4G environment. Furthermore, as mobile technology continues to advance Maxwell will enable emulated testing of higher speed 4G networks and even 5G as it emerges.
Maxwell supports 'scenarios' that simulate the characteristics of any physical network. By loading scenarios for various mobile network conditions, all combinations of network behavior can be simulated. For example, one scenario might represent a 3G network at 100 kbps with 0.44% loss, 20 ms jitter, and 500 ms RTT; while another can be defined to represent a 4G network at 3000 kbps with 0.1% loss, 4 ms jitter, and 30 ms RTT.
You can test your applications in your controlled lab environment while ensuring that you've covered all possible mobile network scenarios. Maxwell provides a deterministic and repeatable environment whereby problematic network conditions can be reliably reproduced. Maxwell is also well suited to support automated regression testing of various impaired network conditions, an important consideration given today's trend towards more rapid agile development cycles requiring frequent regression testing.
|4G/LTE Worst Case||3G Worst Case||Extreme Throughput Conditions||Extreme RTT Conditions||Extreme Jitter Conditions||Extreme Pkt Loss Conditions|
|Throughput Downlink||2.5 Mbps||0.1 Mbps||0.1 Mbps||18Mbps||18Mbps||18Mbps|
|Throughput Uplink||0.3 Mbps||0.2 Mbps||0.2 Mbps||10Mbps||10Mbps||10Mbps|
|Round Trip Time||400ms||350ms||20ms||400ms||20ms||20ms|
Your users' expectations for application usability and responsiveness only grow with each passing day. Users increasingly expect wired-network performance even when using a mobile connection. Unfortunately mobile networks are very different and much less predictable than traditional wired networks. Performance of mobile networks varies constantly and widely, and these variations can expose weaknesses in application performance. Only by simulating the full range of possible mobile network scenarios can you ensure that your end-users will have a positive mobile experience.
Stay ahead of your users' needs. Ensure your applications will always perform their best even when faced with challenging network conditions. By integrating Maxwell into your network test environment you will identify and resolve implementation shortcomings and underlying bugs that otherwise would go unnoticed until users start reporting problems or, even worse, just stop using your app. Be prepared for the mobile challenge by augmenting your test environment with a Maxwell enabled solution.
© Copyright 2018 InterWorking Labs, Inc. dba IWL.