Simulating Remote User Experience
Submitted by Alexander Podelko on Wed, 25/04/2007 - 15:23.
Mercury LoadRunner | performance testing | performance testing tools
Remote user experience may differ significantly from the experience of users using local network. It is not a new thing for web developers, but often missed by developers of corporate applications. Many clients have remote offices with limited bandwidth and high latency that may cause performance problems. If it is a concern, there are ways to verify remote user experience. If we speak about LoadRunner it is possible to mention the following ways to simulate remote/WAN users:
1) Setup LoadRunner agents in the remote locations and run load from there. Probably it is the most accurate way to simulate remote users because communication happens through the actual network. If we speak about remote office it may be interesting to simulate traffic during peak hours in parallel to other activities to see how it behaves when a part of bandwidth is already used and how it may impact other users.
2) Use a built-in functionality to limit bandwidth in LoadRunner (Setup Network - Speed Simulation - Use Bandwidth in Run-Time Settings). That limits bandwidth for each user of that group, but doesn't simulate any other network properties like latency and packet loss. It may be good to simulate bandwidth limitation effect for one user (a user working remotely through WAN). There is no latency simulated (so performance problems of “chatty” applications won’t be noticed) and there is no way to simulate a remote office.
LoadRunner uses a modem simulation technique that is transparent to the Virtual User and which manipulates the size of buffers. Smaller buffer sizes and a sleep mechanism are used at the socket level to emulate the specified data rate of a modem. Transmissions of the individual buffers are still made at maximum speed however. The sleep time is used in conjunction with the buffers to successfully emulate modem speed.
3) Use a more sophisticated WAN emulation solution available in LoadRunner (Load Generator Information - WAN Emualtion; a separate license is required). It allows setup latency, packet loss, and other advanced WAN properties. It doesn't have anything for bandwidth. The combination of 2 and 3 allows simulating individual users working through WAN, but still doesn't allow simulating a bunch of users working from a remote location through the single connection because we don't have a way to limit bandwidth for the "office".
4) Use third-party solutions for emulation WAN; for example, from Shunra or Itheon. Usually it is appliance allowing simulation of very sophisticated network environments.
1) Setup LoadRunner agents in the remote locations and run load from there. Probably it is the most accurate way to simulate remote users because communication happens through the actual network. If we speak about remote office it may be interesting to simulate traffic during peak hours in parallel to other activities to see how it behaves when a part of bandwidth is already used and how it may impact other users.
2) Use a built-in functionality to limit bandwidth in LoadRunner (Setup Network - Speed Simulation - Use Bandwidth in Run-Time Settings). That limits bandwidth for each user of that group, but doesn't simulate any other network properties like latency and packet loss. It may be good to simulate bandwidth limitation effect for one user (a user working remotely through WAN). There is no latency simulated (so performance problems of “chatty” applications won’t be noticed) and there is no way to simulate a remote office.
LoadRunner uses a modem simulation technique that is transparent to the Virtual User and which manipulates the size of buffers. Smaller buffer sizes and a sleep mechanism are used at the socket level to emulate the specified data rate of a modem. Transmissions of the individual buffers are still made at maximum speed however. The sleep time is used in conjunction with the buffers to successfully emulate modem speed.
3) Use a more sophisticated WAN emulation solution available in LoadRunner (Load Generator Information - WAN Emualtion; a separate license is required). It allows setup latency, packet loss, and other advanced WAN properties. It doesn't have anything for bandwidth. The combination of 2 and 3 allows simulating individual users working through WAN, but still doesn't allow simulating a bunch of users working from a remote location through the single connection because we don't have a way to limit bandwidth for the "office".
4) Use third-party solutions for emulation WAN; for example, from Shunra or Itheon. Usually it is appliance allowing simulation of very sophisticated network environments.
