SpeedTestTracker Upload limited to ~100 Mbps

I have two TrueNAS apps running. SpeedTest & SpeedTestTracker.

ST shows Download ~572 & Upload ~554.

STT shows ~545 & Upload ~102.

Cannot find any reason Upload is limited to about 100Mbps

ive seen STT sit around ~100m up while the plain Speedtest app is fine. usually its the STT container / worker capping concurrency, not the nic.

things that fixed it for me:

  1. in the STT app settings, bump any upload / schedule concurrency if it exposes one, and make sure its not stuck on a single-thread Ookla path
  2. check the STT container cpu limit in the TrueNAS app (Apps → edit → resources). a tiny cpu cap throttles uploads hard
  3. compare servers: force both apps to the same Ookla server id. different servers will lie about up/down

if you paste the STT app resource limits (cpu/mem) and whether both apps use the same test server, easier to narrow.

Thanks for taking the time! First two apps on first home lab so bear with me please…

  1. Not seeing anything like that in settings.

  2. Both apps are using 2 cpu’s and 4096 MB as per app settings in TrueNAS dash. (Increasing those numbers made no difference). I turned off compression in the datasets, no diff.

  3. I’m using both apps as TrueNAS ā€˜native’ apps and so seem to have more limited control over them. The ST display doesn’t show what server it is using (weird), but I have forced the STT app to use different servers and they’re all coming back with similar speeds.

I have tried deleting and doing fresh install of STT, same results. How can I see the yaml file used to configure a TrueNAS app container?

for the yaml on a native TrueNAS app:

Apps → STT → Edit → look for YAML / Advanced at the bottom (25.04 vs 25.10 ui differs a bit)

from shell:
midclt call app.config speedtest-tracker

older charts path:

midclt call chart.release.get_instance speedtest-tracker | jq .config

that dumps what the ui is feeding compose. look for any SPEEDTEST / OOKLA / upload env and the resources block.

also while both apps run a test:
docker stats
if STT pegs one core and stalls around ~100m up, its still the worker path even with 2 cpus assigned.

After an afternoon with ChatGPT:

The key point was that Speedtest and Speedtest Tracker weren’t necessarily measuring the upload in exactly the same way, and the difference became especially apparent because your router was suffering from bufferbloat.

In simplified terms:

Speedtest (Ookla’s normal app/web test) is designed to push the connection very hard and dynamically. It uses multiple connections/streams and adjusts the amount of traffic during the test to determine the maximum throughput.

Speedtest Tracker is essentially automating a Speedtest from the NAS, but its test environment is different: the NAS, its network stack, Docker/container networking (if applicable), and the way the test is invoked can affect how aggressively traffic is generated.

With bufferbloat, saturating the upload queue causes packets to sit in the router’s buffer waiting to be transmitted. That increases latency and can actually reduce the measured throughput of subsequent portions of the test.

Consequently, two tests performed from different clients or with slightly different traffic patterns can produce noticeably different upload results, even though they’re using the same internet connection.

The important distinction we arrived at was that the discrepancy wasn’t evidence that one of the apps was inherently reporting the ā€œwrongā€ speed. They were exposing different behaviour from the same connection because the router’s upload queue was becoming congested.

Once the router’s bufferbloat/QoS/SQM behaviour was addressed, the results should become much more consistent.

I’m not totally convinced but the test on waveform dot com does report buffer bloat, so maybe I’ll work on that and see if it makes a difference…

What does your local network look like?

In particular are you using any SFP(+) to RJ45 Transceviers? they are notorious for not supporting pause frames correctly causing one-way slowdowns.

Well this is embarrassing, I’m only paying for 100Mbps upload. It is odd that I’m getting 400/500 Mbps Upload on Speedtest while every other app I used are (correctly) hovering around 100Mbps.

Anyway, lesson learned is I’m an idiot. Thanks all for suggestions.

Usually ISPs have caches & prioritize traffic going to speed test sites so that they can (claim to) be the ā€œfastestā€ and ā€œmost reliableā€ in [your area]. Take any good results with a grain of salt.

Edit: 10 years in telecom :wink: