Author Profile - Terry McNicholas is the President of iTrinegy Inc. (formerly Itheon Networks). Terry joined iTrinegy in 2006, established and built their North America operations, based out of Reno, NV. He is responsible for the iTrinegy Sales, Support, Services and Product Development activities in the Americas and Asia-Pacific regions. Prior to iTrinegy, Terry served as VP of Operations and VP of Professional Services with Eagle Creek Software Services, the leading CRM Implementation Services organization in the USA, where he was responsible for more than 200 CRM implementation engagements and the day-to-day management of over 150 consultants. Before Eagle Creek, he was with Majesco Inc, serving as VP of Services and Chief Operating Officer, where he established Majesco as one of the major CRM Implementation Services and Offshore Outsourcing Service providers in the USA, leading a team of more than 300 consultants in onsite and offshore consulting engagements.
With a trend towards server consolidation, increased remote working and greater reliance on wireless technology, more applications are expected to work over Wide Area Networks (WANs), Wireless LANs, GPRS, 3G or Satellite networks.
The problem is that a lot of software performance testing is still frequently only conducted over the fast & reliable Local Area Networks (LAN) of the test lab. Satisfactory application performance in these conditions is no guarantee of acceptable performance in non-LAN networks.
Why Different Networks Influence How Well Applications Work.
LANs are big, fast and reliable networks normally found within an organization’s main site or building (or the test lab). They can be rightly viewed as being super fast highways. The amount of data they carry is going to be light, relative to their capacity, and the distances this data travels are relatively short.
In contrast, WANS are geographically disbursed networks of frequently lower capacity which are required to carry a high volume of data, compared with their capacity, over much greater distances.
So, as you can already see, LANs and WANs are really very different environments and to claim that conducting testing in LAN conditions can give you a good indication of how the same application is going to perform when placed in a WAN is plainly unrealistic.
The Key Network Characteristics That Influence Application Performance.
In LANs, available bandwidth is rarely an issue, but as WANs have lower bandwidths and there are more applications competing for space, the amount of bandwidth available to a particular application will be much lower and this may have a significant impact on its performance.
In addition, network administrators can set up their networks to favour certain applications like Voice over IP (VoIP) over “conventional” applications and as a result, the software you are testing may have very restricted available bandwidth when placed in the production environment. Therefore, you need to factor bandwidth restrictions into your testing.
Let’s consider running an application over a network between London and New York. Standard TCP/IP networks do not send data in a continuous stream. Instead, they break it down into packets (like envelopes in the post) and send it in batches. They then wait for confirmation that the packets have arrived safely before sending more, causing a delay. Also, the journey itself is not direct and various network devices will be encountered along the way, which all add their additional own delay. As a result, it can take 90ms to complete a round trip journey and an application transaction will consist of many such trips.
This delay is commonly described as latency and it can be a real show-stopper for some applications.
So, if you are testing software that is going to be accessed remotely from say, an Indian data centre or a branch office in the USA then you must ensure your test environment reflects these conditions.
Packet Loss, Error and Reordering
As the packets of data travel over the network they can be lost, errored or reordered so that they arrive out of sequence, or don’t arrive at all. It’s like sending a bus down the road that either doesn’t arrive or doesn’t arrive entirely intact and is therefore probably useless when it reaches its destination.
Wireless WAN, Satellite and 3G/Mobile Phone networks are generally subject to higher loss and error rates than wired networks. The increased use of wireless networks within buildings and as a way of allowing mobile “on-the-road” members of the workforce to receive data means that applications need to be developed to cope with this potential for loss, erroring or reordering.
Once again, reproducing these conditions in your test lab isn’t going to be possible if you confine your testing to using the internal LAN.
So how do you test application performance over the WAN?
WAN emulation / network simulation technology, as supplied by ITrinegy, behaves like a real WAN or wireless environment but can be deployed in the same room as your normal test rig or even on your desktop. It allows you to recreate a wide variety of different WAN or Wireless conditions and enables you to ensure that software can be tested during prototype, development, quality assurance and pre-deployment testing.
A WAN emulator also gives you complete control over the conditions that you run your test in and the ability to reproduce these conditions time and again. This is something you cannot guarantee if you use a live network. There is also the added danger with a live network that your testing may impact mission-critical business applications currently running on the network which isn’t going to make you very popular.