Progressive Versus Original Speed Test

 

As discussed in Detecting Connection Speeds and Dialup Users,  BrowserHawk offers two different testing methods you can choose from when using the ConnectionSpeed property to detect download connection speeds: "Progressive" and "Original".

 

Note: The Progressive and Original methods for line speed testing apply only to measuring the download connection speed via the ConnectionSpeed property. These methods do not apply when measuring the upload connection speed via the UploadConnectionSpeed property.

 

The Progressive testing method was introduced starting in BrowserHawk 12.  It is a smart, dynamic test that provides very accurate results and also returns a latency measurement.  The Original method is the default testing method, which BrowserHawk has used since it was first released. The Progressive method provides greater accuracy and control over the test than the Original method, however it uses more bandwidth, which could impact your fees charged by your hosting provider (more below).

 

The Progressive method works transparently transferring data in the background between your web server and the user's browser.  Image files you place on your server are used by BrowserHawk in these tests (the images are not displayed, rather they are used for data transfer measurements only).

 

The Progressive method first performs a quick latency check and initial rough estimate of the user's speed.  Based on these results, BrowserHawk selects an appropriate data size that is large enough to accurately measure their speed, while being small enough to keep the testing time short, and measures the time it takes for this data to transfer.  The data transfer happens in the background using dummy image files (supplied by cyScape). The data is not stored on the visitor's machine nor are the images displayed. Depending on the visitor's connection speed, an image file between a few KB up to 5MB is dynamically selected and used for the test.

 

On the contrary, the Original testing method works by "blindly" inserting 50KB of data into the page as in-lined content. We say blindly, because this same data size is used regardless of the user's actual speed.  This has the advantage of using little bandwidth, but the disadvantage of only providing an approximation of the speed since 50KB is not sufficient to accurately measure speed for users on broadband connections - particularly the higher speed broadband connections which are becoming more prevalent.  Likewise a higher data size cannot be blindly used because doing so would result in excessive testing times for users without very fast connections.  The advantage of the Progressive method is that it solves this dilemma by first approximating the speed, and then choosing an appropriate data size for the test.

 

Performing a Speed Test Using the Original Method

Performing a ConnectionSpeed test using the Original method is straight-forward and is the default testing method since it requires no additional setup. Simply perform an Extended Property Test and specify "ConnectionSpeed" as one of the tests you want performed.

 

See the speed-orig.aspx (ASP.NET), speed-orig.asp (Classic ASP) and speed-orig.jsp (Java) sample files distributed with BrowserHawk for working examples on how to perform a speed test using the Original testing method.

 

Performing a Speed Test Using the Progressive Method

Performing a ConnectionSpeed test using the Original method requires that you first download the image files used for the testing and store these on your web server. You must then set the SpeedCheckType property to indicate a Progressive test is desired.  Likewise you must also use the SupportFilesRoot property to tell BrowserHawk what the web path is to the image files you placed on your server.

 

To use the Progressive method, please download the required image files from:

   http://www.cyscape.com/download/speed-supportfiles.zip

 

After downloading the zip file, see the README file it contains for step by step instructions on how to configure and use the Progressive speed test.

 

Also see the speed.aspx (ASP.NET), speed.asp (Classic ASP) and speed.jsp (Java) sample files distributed with BrowserHawk for working examples on how to perform a speed test using the Progressive testing method.

 

Note: Using the Progressive method may increase your web hosting charges

Using the Progressive ConnectionSpeed and or ConnectionLatency tests will result in increased data transfer usage between your web server and your visitors.  If the amount of data transfer your web site uses impacts your hosting charges, then using the Progressive speed check may result in higher charges from your hosting provider. Such charges may be significant. See the tips below for trying to reduce the bandwidth used if this is a concern.

 

Each time a Progressive speed check is performed, BrowserHawk dynamically selects one of the image files you placed in your web site and transparently transfers it from your site to the user.  These image files range from just a few KB up to 5MB.  Users on faster, higher quality connections will typically transfer the image files toward the higher end, resulting in 3-5MB of transfer for each test. Users with slower, lower quality connections will typically transfer the smaller image files, resulting in 128KB - 2MB of transfer for each test.

 

For busy sites, this amount of data transfer can add up quickly.  For example, assume a busy site has 100,000 visitors per day. Further assume that 30% have high quality connections and average 4MB of transfer per test, 45% have medium quality connections and average 2MB of transfer per test, and 25% have low quality connections and average 1MB of transfer per test. Assuming each user has their speed tested once per day, this works out to 120GB, 90 GB, and 25 GB per day respectively, for a total of 235 GB per day, or 7 TB per month.

 

Such volumes of data transfer may add significantly to your web hosting bill. If you have any doubts be sure to check with your service provider to determine how an increase in data transfer may impact your bill. Please note that cyScape is not responsible for any such fees.

 

Tips for reducing bandwidth used by the Progressive download connection speed tests

 

See Also:

Detecting Connection Speeds and Dialup Users

Detecting Upload Speeds

ConnectionSpeed Property (ActiveX / .NET)

ConnectionLatency Property (ActiveX / .NET)

UploadConnectionSpeed Property (ActiveX / .NET)

UploadConnectionLatency Property (ActiveX / .NET)

EstDownloadTimeDesc Method (ActiveX / .NET)

EstDownloadTimeSec Method (ActiveX / .NET)