Behind the Scenes: Building a new Speed Test Server
By Pat Welch, IT Support Technician
Every once in a while, each of us experiences what seems to be a slow connection at home or at work. Perhaps a movie is not streaming properly or a download is taking longer than we expect. The question is, is the problem with the Internet connection, with our computer, or with the remote web server that is delivering the content to us. In these cases, we can use a speed test to measure our connection speed and see if it is contributing to the problem.
Speed test is a web-based tool that will give a very close approximation of your internet speed by testing your download and upload speeds. It’s considered the best in class for this type of public testing. Anyone can access GWI’s speed test by going to http://www.gwi.net/speed-test/ or http://speedtest.gwi.net in a web browser. Simply click on the “Begin Test” button and your speeds will be displayed once the test has finished. The higher the test results are, the faster your connection is.
Why Do We Use Speed Test?
GWI’s speed test is generally used for two purposes:
- Anyone (not just GWI customers) can check the speed of their internet connection to help determine if their bandwidth is adequate for their needs. Different tasks, such as browsing the internet or streaming video, can be more efficient with the proper internet connection.
- Field technicians can perform a basic test on a customer’s internet speed to help identify and troubleshoot network problems. If a Field Technician can obtain expected speeds at a customer’s site, then the problem likely lies with the customer’s computer, router, network cable or other equipment.
Building and Testing the New Server
Several teams at GWI were involved in building and testing our new speed test server. Our IT and Network departments built and tested the new server while our Network Field Engineers field-tested the server from some of our customer’s locations. This testing process was designed to ensure that we could provide strong and accurate results.
We created a very controlled environment to build and test with while still having flexibility. In our first test, we plugged our computer directly to the speed test server with fiber. We wanted to see what the server was capable of doing before introducing any additional variables, such as other networking gear. Multiple tests were run in different web browsers (Google Chrome, Internet Explorer and Firefox) in order to get a wide range of results. We quickly noticed that the results differed slightly between the web browsers. This was to be expected as all web browsers handle network traffic in different ways. For example, the speed test uses Adobe Flash Player to display the test. Some web browsers use different Flash plugins which can alter how the test displays and performs.
The second test involved connecting the server to the new fiber router that would be deployed in our datacenter. The purpose of this test was to see how well the router and speed test server would work with each other. Our testing computer was plugged directly into the router which eliminated any additional networking gear. After running multiple tests in all three web browsers, the test results were just about identical to the results that came from the initial testing.
Next, we needed to see how other computers would respond and the test results became widely scattered. Less sophisticated hardware yielded lower test results. The single hardware component that was the biggest bottleneck was the processor (CPU). Older or weaker processors stayed at 100% usage for the entirety of the test. Newer or more powerful processors had their usage typically stay under 70% which meant that they were better equipped to handle the speed test. To help take some of the pressure off of the testing computer, we made the speed test a little less aggressive. We wanted a balanced test that would produce the best results possible across as many computers as possible.
Once we were satisfied with the results from the various computers, we wanted to make sure that multiple computers could test simultaneously without any decrease in server performance. To do this, we connected multiple testing computers to the router and hit the “Begin Test” button on all of them at the very same time. The test results were the same as they were when each of the computers tested individually which meant that the server could handle multiple tests running at the same time. This was critical because we certainly did not want a test to return inaccurate results simply because others were testing at the same time.
Lastly, we deployed the server and fiber router to our datacenter, which is directly connected to our core network. We restricted access to the speed test site to GWI’s IT and Network departments as well as our Network Field Engineers. This allowed for some final internal testing, but it also gave us a chance to see how the test would perform at some of our customer’s sites. The internal test results were on par with the previous testing and our Network Field Engineers reported that they were seeing acceptable results. At this point, we were confident that we had a reliable speed test server that could be used by all, so we replaced our aging speed test with the new one.
Your Results May Vary
Our testing shows that every component in a network and computer can greatly impact the results of a speed test. You may have a Gigabit connection but even in a perfect set of test conditions, we were only able to show test results utilizing 95% of our actual connection speed. A 1 year old computer with a consumer grade processor could only utilize 65% of the connection. When we introduced an underpowered consumer grade router, the results dropped even further.
While the speed test we use is the best in class testing tool for internet browser based testing, it’s not the final word on the speed of the connection provided by us or any ISP. It’s the best test we currently have using an interface that is most acceptable to the general public, the web browser. Only a top of the line computer directly connected to the testing server provided the best results.