points by UI_at_80x24 4 years ago

I was on the phone with a buddy trying to troubleshoot Local file transfer speeds vs Speedtest results.

Speedtest kept reporting 100Mb/s range speeds (the tier he was paying for). Local file transfers however were stuck in the 1MB/s range.

After some questions and troubleshooting he discovered that he had used a 10Mb/s hub instead of a 1Gb/s switch that was sitting right next to it. A simple mixup.

His internet connection was also plugged into that same 10Mb/s hub.

There is NO WAY his PC could have reported 100Mb/s to speedtest.

Do not trust them for accurate results.

mlyle 4 years ago

> Do not trust them for accurate results.

Ookla speedtest properly transfers data and divides to find throughput-- both with the website, the GUI app, and their CLI program. The open source speedtest-cli that uses their infrastructure is hampered by only one connection and can't seem to ever report higher than 300mbps.

Fast.com is ... a little optimistic about transients getting transfers started and sometimes reports numbers 5-10% too high.

Neither is grossly wrong by an order of magnitude. Maybe there was also wifi around and simultaneously connected, confounding the situation? Easy to end up in a situation where all your internet traffic is going over wifi (because e.g. your dhcp client replaces the default route with one going over the wifi interface), and all your local traffic goes over ethernet.

  • _jsnk 4 years ago

    > speedtest-cli ... can't seem to ever report higher than 300mbps.

    I routinely get 700-900Mbps reported using speedtest-cli from centurylink fiber. My bottleneck is the CPU on my router running openwrt.

    • mlyle 4 years ago

      Can you look at this, and tell me which of the 2 you're using:

      https://news.ycombinator.com/item?id=31063868

      From speedtest's official cli program, on my 2.5gbase-t connected machine I get 2200mbps up and down.. but from the open source speedtest-cli I get 300-350mbps.

      (Here, I only got ~900mbps because I was running from a raspberry pi with a 1000BaseT link).

  • mmastrac 4 years ago

    I'm seeing gigabit(-ish) via speedtest-cli:

       Speedtest by Ookla
    
         Server: TELUS Mobility - Calgary, AB (id = 17555)
            ISP: TELUS
        Latency:     0.50 ms   (0.12 ms jitter)
       Download:   938.58 Mbps (data used: 422.8 MB)
         Upload:   919.90 Mbps (data used: 959.8 MB)
      Packet Loss: Not available.
    

    FTTH, Ubiquiti EdgeSwitch -> UniFi Dream Machine Pro SE via 10G link -> Nokia ONT.

    I _do_ get limited to around 300mbps if my Mikrotik is in the mix and using CPU for routing.

    Yeah, my home network is overkill but it's a cheaper hobby than other ones might be, hah.

    • mlyle 4 years ago

      > I'm seeing gigabit(-ish) via speedtest-cli:

      You're using their cli client, not the open source one. Below, first their "speedtest" and then the open source "speedtest-cli"

          mlyle@brazen:~ $ ./speedtest 
          
             Speedtest by Ookla
          
               Server: Cloudflare - San Jose, CA (id = 44932)
                  ISP: Frontier Communications
              Latency:    12.10 ms   (1.29 ms jitter)
             Download:   953.32 Mbps (data used: 1.0 GB )                               
               Upload:   891.89 Mbps (data used: 1.1 GB )                               
          Packet Loss: Not available.
      
      

      vs.

          mlyle@brazen:~ $ speedtest-cli
          Retrieving speedtest.net configuration...
          Testing from Frontier Communications (47.155.215.132)...
          Retrieving speedtest.net server list...
          Selecting best server based on ping...
          Hosted by Nitel (Los Angeles, CA) [446.50 km]: 49.103 ms
          Testing download speed................................................................................
          Download: 323.09 Mbit/s
          Upload: 300.49 Mbit/s
      

      speedtest-cli is a python program, vs. the native speedtest:

          mlyle@brazen:~ $ file /home/mlyle/.local/bin/speedtest-cli
          /home/mlyle/.local/bin/speedtest-cli: Python script, ASCII text executable
          mlyle@brazen:~ $ file speedtest
          speedtest: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped
      • mmastrac 4 years ago

        Practically the same. Perhaps it's a server selection issue?

          Selecting best server based on ping...
          Hosted by iTel.com (iTel Networks Inc) (Calgary, AB) [3.20 km]: 2.275 ms
          Testing download speed................................................................................
          Download: 931.69 Mbit/s
          Testing upload speed................................................................................................
          Upload: 854.01 Mbit/s
        • mlyle 4 years ago

          Interesting. I consistently get garbage results with speedtest-cli (across multiple machines and network connections) and good results with speedtest's own.

          On the pi, I suspect it's running out of CPU--

              real 0m9.877s
              user 0m2.737s
               sys 0m5.595s
          

          But that doesn't explain the systemic problem.

          • mmastrac 4 years ago

            The Pi is definitely limited in terms of CPU. This is a fairly old, but beefy Xeon chip on my unraid box. Might be native vs Python code on ARM?

            • mlyle 4 years ago

              Yup, native vs. Python would explain a lot on the Pi, but I've also seen this on my big Threadripper machine here and on my Hetzner server in Virginia.

              I'd assumed it was just something intrinsic.

              On the other hand: speedtest's own thing uses multiple parallel connections. So if you have low amounts of loss that prevent one TCP connection from going super fast, it'll do better on speedtest than speedtest-cli.

              Thanks for the help/info. Something to spend more time understanding at some point in the future.

              edit: Just noticed that the Hetzner server in VA geolocates wrong and chooses servers in Kansas.

              • mmastrac 4 years ago

                No worries.. best of luck with that. As a total aside, fast.com is giving me 420mbps which should be impossible given my wifi setup. :/

                • mlyle 4 years ago

                  fast.com tends to be 10-20% high for me versus what goes by at the router.

              • vitus 4 years ago

                > edit: Just noticed that the Hetzner server in VA geolocates wrong and chooses servers in Kansas.

                This is a common failure mode of geolocation, especially as it pertains to cloud providers. The databases can guess which country the IP address corresponds to, but not anything more (and as such, they default to something in the middle of the country).

                https://en.wikipedia.org/wiki/Geographic_center_of_the_Unite...

                Geolocation data tends to be worse for cloud providers for whatever reason (I believe it's a combination of differing Internet footprint characteristics, as well as IP aggregation mismatch on behalf of the geolocation database).

                (Also see https://en.wikipedia.org/wiki/Null_Island for another common geolocation placeholder)

CraigJPerry 4 years ago

Ha! I'm currently down the rabbithole of trying to understand why when connected through nordvpn, i'm seeing ~5% faster download and ~10% lower ping latency to speedtest.net when connected to an in-country vpn endpoint.

Does not compute. Compression? I can't explain the lower ping, traffic shaping?

  • formerly_proven 4 years ago

    > I can't explain the lower ping, traffic shaping?

    Better routes. Most latency on the internet is not due to c.

    • lillecarl 4 years ago

      C being speed of light

    • hkt 4 years ago

      Classic story where this is related: https://www.ibiblio.org/harris/500milemail.html

      tl;dr timeout was sufficiently low and user sufficiently skilled to work out his emails could be delivered only within 500 miles

      • edwinbalani 4 years ago

        My favourite aspect of this story is how the academics, being academics, took it upon themselves to characterise the problem in detail before telling the postmaster about it. Could just as easily have said "huh, that's weird" and thrown it at them on day one.

        • hkt 4 years ago

          And their explanation was probably more baffling to the admin than a simple "it is broken" report too. It would definitely have been for me.

    • fy20 4 years ago

      I get this same with AWS. The routes to my country in Northern Europe from us-* are terrible (eu-* is fine), to the point where a download from S3 during peak times can be tens of kB/s. If I connect to a VPN in another country it jumps to tens of MB/s.

  • causality0 4 years ago

    When I use a VPN the measurable ping might go down but the noticeable ping goes up. There's always a barely-perceptible delay when doings things like using voice typing.

tashbarg 4 years ago

Some providers provide speedtests that test (only) last-mile speed between, e.g., cable modem and head unit. Mine does that and reports 1Gb/s just fine. Of course, only to the head unit, nowhere else in the universe.

naoqj 4 years ago

speedtest.net has a CLI version that is much more reliable than the web version.

cj 4 years ago

Edit: removed due to downvoting. Original comment pointed out that transfer speed is normally measured in Mbps not MB/s.

  • djbusby 4 years ago

    Can't get 100 Megabits on a 10 Megabit line was the point.

  • Diesel555 4 years ago

    > Speedtest kept reporting 100Mb/s range speeds (the tier he was paying for). Local file transfers however were stuck in the 1MB/s range

    I read that speed test reported 100Mb/s and local files were receiving 8Mb/s (1MB/s). Either interpretation doesn’t change the intent much. But now I’m curious if the MB was intentional.

    I don’t really care what the normal convention is, but the fact that Mbps and MB/s are sometimes used interchangeably does cause confusion, especially outside this environment.

    Was the choice to use Mbps as a standard a marketing idea? Like they have 1 MB/s? Well we have 8 Mb/s.

    • UI_at_80x24 4 years ago

      Yes I did intentionally mix the units up. I know it's not best practice but I also know that most people that frequent this site are aware enough of the differences to not get fooled/confused. To be honest it was just lazy writing on my part.