It is most likely that your web performance test lab has a fast and stable network. Bandwidth is great and there’s no latency and packets loss is never an issue. But this, of course, isn’t a simulation of the real world. Do you know how your server will behave or when a network is congested and packets are dropped?
This is where network emulation comes into play, helping you ensure that your load tests match real-world scenarios as closely as possible, including mobile networks. While you may assume that network emulation is not needed since you can use cloud load generators, this is not the case, since you have very little, if any, control over bandwidth, packet losses, etc.
Including a network emulation product in your lab will also allow you to run functional tests under different network environments, in addition to performance testing.
The network emulation market contains many open source products, and paid products by vendors such as Ixia, HP Shunra, Riverbed Opnet, iTrinegy, etc. Most network emulation products are supplied as an appliances, but you can also find virtual machines or software-based solutions.
Network Emulation Load Testing Architecture
You can setup network emulation within your load test environment in several ways:
- Place the network emulator in front of your application, within the test lab. Since the network emulator is connected to your server, every request to your application will be affected by the network conditions defined in the emulator.
- Connect a network emulator to the client-side load generator machine. For example, the emulator may be connected to the a cloud load generator machine. Using this method you have greater flexibility to emulate the network conditions for each virtual client differently. For examples you may define a load test scenario with 500 virtual users from NY, where 50% of the users have a fast internet, 25% communicate through 3G, and 25% through a 4G network – all using the same Load Generator machine.
Network Emulation with WebLOAD
WebLOAD provides two options to emulate network conditions:
- You can use WebLOAD together with any network emulation tool. All you need to do is configure the traffic so it goes through the network emulator.
- WebLOAD also provides a full client-side network emulation. You can quickly select pre-defined network profiles, as well as define specific settings for bandwidth, packet loss, bandwidth, delays, etc.