I've been doing some LoadRunner work on various systems here. We have two main locations several hundred miles apart connected by a WAN. I've been told the advertised bandwidth is 50 Megabit.
In most of my performance testing work bandwidth has never been a limiting factor or a bottleneck. But we are redesigning some things and expect increased WAN traffic (C/S apps and multi-tiered web systems). I'm not too well-versed in WANs or this sort of thing. I was hoping to get help with a few questions here:
1. When I'm working on my test plans, with respect to WAN bandwidth, what specifically should I be concerned about? Latency?
2. Any tips for testing or things to look out for?
3. Any good open-source or freeware tools/techniques you would recommend for testing bandwidth and latency?
4. There has been some talk of using packet shapers and WAN optimization devices. How does that change things?
Any tips or words of wisdom, war stories much appreciated, thanks! :-)
Re: Could use some advice re: WANs & perf testing ...
I haven't used Shunra yet but it's the primary tool used by LR performance testers for simulating different network conditions. There are some demo videos on the site I believe, which show how easy it is to setup.
Latency and bandwidth limitations could definitely cause problems for your testing: as well as the direct response time of end-user transactions, latency will also have a bearing on resource usage on the application under test.
Imagine a user connecting from a remote location is subject to a delay (latency) of 200ms. This means for each request made to the application, the client connection and any associated resources will remain open / reserved for that period of time OVER AND ABOVE the time taken for the application to process the request.
Also, if requests tend to be sizeable (large .NET viewstates spring to mind) then low bandwidth conditions may cause issues (i.e. the time taken to send a 2MB request over a 56k connection is substantial).
Imagine hundreds or even thousands of users connecting in this way and it's pretty obvious that your application might behave very differently under these conditions.