Speedtest on DigitalOcean is consistently better than GCP instance - any ideas?

562 views
Skip to first unread message

opensourcegeek

unread,
Dec 1, 2016, 6:36:42 PM12/1/16
to gce-discussion

As prompted by my colleague, I started running few speed tests and below are the results running speed tests on DO and compared it with GCP (compute engine instance). 

Digital Ocean 
[root@opensourcegeek-1 ~]# speedtest-cli --server 9536
Retrieving speedtest.net configuration...
Testing from DigitalOcean (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Clouvider Limited (Enfield) [15.94 km]: 6.929 ms
Testing download speed................................................................................
Download: 692.89 Mbit/s
Testing upload speed....................................................................................................
Upload: 346.30 Mbit/s

GCP
[opensourcegeek@centos-1 ~]$ sudo /usr/local/bin/speedtest-cli --server 5479
Retrieving speedtest.net configuration...
Testing from Google Cloud Platform (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Sonic.net, Inc (San Jose, CA) [16.87 km]: 36.831 ms
Testing download speed................................................................................
Download: 481.32 Mbit/s
Testing upload speed....................................................................................................
Upload: 109.47 Mbit/s

Initial tests on DO server chose a speedtest server which was only 1.15km away and it showed more than 1Gb/s rx, so I thought that skewed the result so ran another test with DO server using a test server slightly far away. Even though the numbers came down for rx/tx, it still is consistently higher than what I see on GCP. 

It is not a like-to-like test as DO server is running close to London and GCP server is running in states. Also GCP servers are running Centos 6.8 and DO servers are running Centos 7.2.  The tests were ran was using this tool, https://github.com/sivel/speedtest-cli. In DO it was running under python 2.7.5 and on GCP it was using python 2.7.2. I'm genuinely interested in finding out what could cause this difference so please let me know if you need me to add any more details. 

Thanks!



Arek Fryz

unread,
Dec 1, 2016, 8:49:08 PM12/1/16
to opensourcegeek, gce-discussion

Hi opensourcegeek,

From what I noticed San Jose CA may not be the closest test server to your GCE server location. Try to find server that is close to your zone location. For example I get better results testing to Chicago than San Jose even speedtest reports San Jose is closer to my server (servers in GCE central zone)

Regards,
Arek


--
© 2016 Google Inc. 1600 Amphitheatre Parkway, Mountain View, CA 94043
 
Email preferences: You received this email because you signed up for the Google Compute Engine Discussion Google Group (gce-dis...@googlegroups.com) to participate in discussions with other members of the Google Compute Engine community and the Google Compute Engine Team.
---
You received this message because you are subscribed to the Google Groups "gce-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gce-discussio...@googlegroups.com.
To post to this group, send email to gce-dis...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gce-discussion/1ca8856a-99d1-4e25-8bb1-c14973d798c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

opensourcegeek

unread,
Dec 2, 2016, 2:59:56 AM12/2/16
to gce-discussion, 3.pr...@gmail.com
Thanks Arek.

I'm seeing higher numbers now in GCP against chicago server.

Retrieving speedtest.net configuration...
Testing from Google Cloud Platform (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ServerCentral (Chicago, IL) [2964.19 km]: 23.571 ms
Testing download speed................................................................................
Download: 2050.15 Mbit/s
Testing upload speed....................................................................................................
Upload: 291.23 Mbit/s

Testing from Google Cloud Platform (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ServerCentral (Chicago, IL) [2964.19 km]: 12.066 ms
Testing download speed................................................................................
Download: 2070.83 Mbit/s
Testing upload speed....................................................................................................
Upload: 286.67 Mbit/s

It looks like speedtest-cli's selection of server based on ping latency isn't working correctly or it thinks the server is in a region which is not correct It picks a server with more latency than the one above (40ms). 

I'll look into the code and see what auto-magic is happening.

Paul Nash

unread,
Dec 2, 2016, 3:31:42 AM12/2/16
to opensourcegeek, gce-discussion
If speedtest is using a Geo IP database to locate our external IP addresses, that may be the issue, as we find many of these databases report incorrectly (we don't publish a mapping between IP ranges and GCE zones/regions to my knowledge). At least in the app version of speedtest, you can select the server you want, which might be the best approach.

Email preferences: You received this email because you signed up for the Google Compute Engine Discussion Google Group (gce-discussion@googlegroups.com) to participate in discussions with other members of the Google Compute Engine community and the Google Compute Engine Team.

---
You received this message because you are subscribed to the Google Groups "gce-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gce-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to gce-discussion@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gce-discussion/0400390d-c974-46ce-acf1-327d239467b4%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--

Paul R. Nash | Product Manager, Compute Engine | paul...@google.com | 206-876-1620

opensourcegeek

unread,
Dec 2, 2016, 11:26:22 AM12/2/16
to gce-discussion, 3.pr...@gmail.com
Thanks Paul.

I think this tool uses Geo IP db to find closest servers first to find a subset to do a ping check and then uses ping latency to find the best server within those closest servers. This doesn't work well as you mentioned with GCE instances. 

Reply all
Reply to author
Forward
0 new messages