Using gradle.org site to test download speeds against WSS

book

Article ID: 199689

calendar_today

Updated On:

Products

Web Security Service - WSS

Issue/Introduction

There are a large number of public web sites that offer speed test services including azurespeed.com, testmy.net, fast.com. Results can vary widely depending on which WSS data center you are located in, as latency to these back end services differ.

One site however (https://downloads.gradle.org) has very good latency from most of our WSS data centers, probably as a result of peering. A ping round trip is usually of the order of 5ms or less from many of our data centers. As a result, we can be confident that in most cases, the download request from the Proxy to this Web server will be satisfied quickly. We also see very consistent results using this service.

As part of the https://downloads.gradle.org site, one can download files of various sizes. As with many sites hosting files, the URLs change regularly so that we cannot use the same link all the time. The following steps outline what is needed to verify whether a file is downloadable or not.

Resolution

1. Go to https://downloads.gradle.org

2. With the XML payload rendered on the browser, scroll down midway through the complete page and identify a file (reported under 'Key' tag) that matches a file size you want to download. In the example below, I selected a 45Mb file called distributions-snapshots/gradle-6.6-20200628220025 0000-all.zip.

 

<Contents>
<Key>
distributions-snapshots/gradle-6.6-20200628220025 0000-all.zip
</Key>
<LastModified>2020-06-28T22:15:56.000Z</LastModified>
<ETag>"b619d7bc9a28b92f51fab4c83decf1e1"</ETag>
<Size>45158240</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>

3. Cut and paste the file name and append to the downloads.gradle.org domain and retrieve the file using curl, or a web browser. In our example above, the filename will be https://downloads.gradle.org/distributions-snapshots/gradle-6.6-20200628220025 0000-all.zip

4. Verify the download speed returned, making sure that it is consistent. You can select files of smaller or larger sizes by tracking the 'size' tag value.