Problem
When you test download speeds on an internet connection through a Smoothwall, you need to take a few thing into consideration.
If the test method is via a web download, the traffic is most likely going to be using the proxy, which can skew the results. This is because the proxy sometimes first needs to download the data, before sending it to the client. Here's a few methods for you to try and get a more accurate value for the download test.
Web download
Rather than use a speed test site, it might be better to try and download a large test file. For example, you can use this site to download such a file: https://www.thinkbroadband.com/download
It offers a range of files of varying sizes, for you to download. The web proxy generally only caches files smaller than 250 MB so downloading a file larger than this can bypass the problem of proxy caching interfering with the test.
For the best results, bypass the proxy completely. If you are testing behind a transparent proxy and don't have proxy settings in the browser that the test is performed from, use the link for the 8080 port number.
Another way of bypassing the Smoothwall proxy completely is to perform the test from the Smoothwall itself. You can do this using the command line with the "wget" command. Copy a link to the file you would like to download and use that for the wget command:
# wget http://ipv4.download.thinkbroadband.com/512MB.zip
While the file is downloading, the speed is shown on the command line. Make sure you delete the file after using the rm command:
# rm 512MB.zip
Notes
When the Smoothwall is in production, and users are browsing, the download for the users might interfere and skew the results as well. Instead of relying on the download value on your test system, start the download and navigate to the Reports - realtime - traffic graphs section on the smoothwall, click on the external interface (or the interface with a gateway configured) and monitor the speed there:
That shows the accumulated bandwidth for your own test as well as the browsing users. Make sure that you don't impose any bandwidth limits in the proxy when you perform this test.