Jump to content
Sean

Add Cloudflare as a Multithread test server

Recommended Posts

A few years ago, TestMy provided Google CDN as a speed test server.  This made a pretty good test for wireless and cellular data ISPs to test the bandwidth between the user and the ISP, especially for making antenna adjustments since most ISPs have good peering with Google.  That came to an end when they discontinued that CDN service.

 

Now that TestMy uses Cloudflare, I wonder if it could be set up as a multithread test server, much like what was done with the Google CDN

Share this post


Link to post
Share on other sites

I'm not really sure why it was disabled, it used to be an option.  :mellow:   I think there was an issue with it at some point, it was disabled and just never re-enabled.

 

You can select cloud.testmy.net from the multithread selection now.

 

Screen Shot 2018-01-09 at 5.59.24 AM.png

 

Let me know how it works for you.  Thanks for pointing that out too.

Share this post


Link to post
Share on other sites

I found one issue with the Cloudflare server, but not sure if it's what you encountered before.

 

At a first glance, the test seems to work fine.  However, with a few test results lower than the UK for the multithread test, I had a quick look in the Windows Resource Meter. 

 

When I run a Multithread test using the Cloudflare server, it only downloads over a single connection:

 

5a54e31645de8_TestMywithCloudflare.png.f541a3e28107a14cd2c558b3d562a447.png

 

For comparison, this is how it appears when I retest using the UK server:

 

5a54e343b4f46_TestMywithLondon.png.592a3f76bf84921638d87e0c9ca9c348.png

 

One thing I've observed already is that the Three 4G network prioritises Cloudflare traffic.  I certainly don't get 2MB+/s with any of the linear speed tests.

Share this post


Link to post
Share on other sites

From some experimenting and research - The culprit is HTTP2! :o

 

I created a simple HTML file and used the image TestMy was fetching.  I inserted it multiple times, changing the '?=' text on each line, so it looked like this:

 

<!DOCTYPE html>
<http><head><title>test</title></head>
<body>
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=9ijehwae1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=389gehae1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=3h89uw2g1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=zdpq2jga1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=18saegaw1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=aghh23871" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=h3o8aw891" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=jhh2983h1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=zxchoiwq1" class="test" height="20" width="20" />
<img src="https://cloud.testmy.net/tmn/img/tmn-sti_2.jpg?q=2ho8zs871" class="test" height="20" width="20" />
</body>
</html>

 

Generally when multiple images are fetched, I expect to see multiple TCP connections.  However, this was not the case as with running TestMy's multithread test with the Cloudflare CDN

 

One thing that came to mind is HTTP2, which I was recently reading about.  I remember it used a different method of connecting to servers and sure enough the FAQ has the answer:

 

Quote

Why just one TCP connection?

  • With HTTP/1, browsers open between four and eight connections per origin. Since many sites use multiple origins, this could mean that a single page load opens more than thirty connections.
  • One application opening so many connections simultaneously breaks a lot of the assumptions that TCP was built upon; since each connection will start a flood of data in the response, there’s a real risk that buffers in the intervening network will overflow, causing a congestion event and retransmits.
  • Additionally, using so many connections unfairly monopolizes network resources, “stealing” them from other, better-behaved applications (e.g., VoIP).

 

To check if this is the culprit, I disabled HTTP2 in Firefox's about:config page:

Firefox_HTTP2.png.94ef735a8c1ab082d5e7809da17b7b76.png

I reran a multithread speed test using the Cloudflare CDN and sure enough it makes multiple TCP connections: B)

5a550d1fbfc86_Cloudflaremultipleconnections.png.1632d9adfb8a2e26838dd114dd1676c7.png

 

I'm not sure if you're able to disable HTTP2 on Cloudflare, otherwise it looks like the only way one can run a multithread test with the Cloudflare CDN is by disabling HTTP2 in the web browser.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
Speed Test Version 15.9
© 2018 TestMy Net LLC - TestMy.net - Terms & Privacy
© 2018 TestMy Net LLC - TestMy.net - Forum - Terms & Privacy