What's new
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

spdMerlin spdMerlin v4.4.16 [2025-Nov-16] - Internet Speedtest and Monitoring Tool for AsusWRT Merlin

Auto server also.
Find you local Ookla server via the online speedtest and set that server as 'preferred' for your automatic tests.
I'm sure you've already checked your automatic speedtest are not over VPN.
 
There's something odd happening with my spdmerlin, and I can't figure out what 😅

Whenever I run a manual Speedtest (auto server), it uses correctly my upload speed (around 400mbps).
Whenever it runs unattended via Cronjob, it's capped around 150mbps. Every single time . Auto server also.
However, if I run /jffs/scripts/spdmerlin generate in terminal (the Cron command), the upload goes up to those 400mbps.
Download speed is correctly tested in both scenarios (around 1gbps)
Any ideas why?

Some things to try, might give some better ideas:

1. Run
Code:
top
from a second SSH window while doing both manual tests and when letting the cron job fire automatically.
Is there a difference on the CPU or RAM (VSZ) output between both runs?

2. You can also try manually running with a lower CPU priority to see if the issue is replicated:
Code:
nice -n 10 /jffs/scripts/spdmerlin generate

3. Do you have any other cron jobs scheduled to run at the same time?
You can check /verify with
Code:
cru l

4. Do you have any QoS / traffic shaping enabled?
If yes, have you tried disabling QoS to see if it resolves the issue? And do you have spdMerlin excluded from QoS using the option "q" from the menu? : "q. Toggle exclusion of spdMerlin speedtests from QoS"

5. Does swapping from to the built-in binary or the external binary improve the situation?
 
Last edited:
Some things to try, might give some better ideas:

1. Run
Code:
top
from a second SSH window while doing both manual tests and when letting the cron job fire automatically.
Is there a difference on the CPU or RAM (VSZ) output between both runs?

2. You can also try manually running with a lower CPU priority to see if the issue is replicated:
Code:
nice -n 10 /jffs/scripts/spdmerlin generate

3. Do you have any other cron jobs scheduled to run at the same time?
You can check /verify with
Code:
cru l

4. Do you have any QoS / traffic shaping enabled?
If yes, have you tried disabling QoS to see if it resolves the issue? And do you have spdMerlin excluded from QoS using the option "q" from the menu? : "q. Toggle exclusion of spdMerlin speedtests from QoS"

5. Does swapping from to the built-in binary or the external binary improve the situation?
Thank you for your prompt help!
1 - no. Exactly the same. (I did notice however that controld binary is always using 55% of RAM 😯)

2 - Even with an even lower priority, manually triggering it (both via generate or interactive menus), the results are the same, with 400mbps upload. I'll wait for next real Cron to check.

3 - No. This is the only one each 6h (00h, 06h, 12h, 18h)

4 - No QoS activated. Also, the option to exclude from QoS is activated, just to be sure.

5 - Almost same results, negligible difference. I, however, use the external binary (I think is newer than built in?)
 
Thank you for your prompt help!
1 - no. Exactly the same. (I did notice however that controld binary is always using 55% of RAM 😯)

2 - Even with an even lower priority, manually triggering it (both via generate or interactive menus), the results are the same, with 400mbps upload. I'll wait for next real Cron to check.

3 - No. This is the only one each 6h (00h, 06h, 12h, 18h)

4 - No QoS activated. Also, the option to exclude from QoS is activated, just to be sure.

5 - Almost same results, negligible difference. I, however, use the external binary (I think is newer than built in?)
I just set the Cron to run every 5 minutes (for the sake of debugging), and you know what? Correctly getting my upload speed. 🫣
Maybe the cron job I set to run every 6 hours just happens to coincide with peak usage times on the ISP’s side? Hard to tell… either way, thanks again for the help. I’ll keep monitoring it.
 
I just set the Cron to run every 5 minutes (for the sake of debugging), and you know what? Correctly getting my upload speed. 🫣
Maybe the cron job I set to run every 6 hours just happens to coincide with peak usage times on the ISP’s side? Hard to tell… either way, thanks again for the help. I’ll keep monitoring it.

Maybe ISP related, or could be the server as @Ripshod mentioned.

Setting it to every 5 minutes for debugging is a good test, I would keep an eye on the specific times of day you notice it slow down, and the specific server it uses when it slows down.

Let us know if you discover any patterns :)
 
3 - No. This is the only one each 6h (00h, 06h, 12h, 18h)
Just to make sure you got the reason behind @ExtremeFiretop's original question. You need to check for any cron jobs that run at minute 00 of any hour of the day, as it runs at the exact same time of 00:00, 06:00, 12:00, and 18:00, which might interfere with your internet speed test, especially if the cron is internet connection related.
It's very important to note that this includes any cron jobs that run like every 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 minutes (all divisors of 60), and also includes any cron jobs that runs every (divisors of 6) hours, which -also- collide with your own scheduled spdMerlin cron jobs.
So, the golden rule is find all divisors when looking for colliding cron jobs.
 
Just to make sure you got the reason behind @ExtremeFiretop's original question. You need to check for any cron jobs that run at minute 00 of any hour of the day, as it runs at the exact same time of 00:00, 06:00, 12:00, and 18:00, which might interfere with your internet speed test, especially if the cron is internet connection related.
It's very important to note that this includes any cron jobs that run like every 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 minutes (all divisors of 60), and also includes any cron jobs that runs every (divisors of 6) hours, which -also- collide with your own scheduled spdMerlin cron jobs.
So, the golden rule is find all divisors when looking for colliding cron jobs.
Thank you for your alert, and no, I haven't got the reason behind that...

I checked and whenever a cron runs different from minute 00, upload is OK. Whenever it runs at minute 00 it caps the upload speed.
There are many crons running at 00 minute, of course.
So maybe the suggestion I have is an option to choose to run this cron X minutes after hour.
 
Thank you for your alert, and no, I haven't got the reason behind that...

I checked and whenever a cron runs different from minute 00, upload is OK. Whenever it runs at minute 00 it caps the upload speed.
There are many crons running at 00 minute, of course.
So maybe the suggestion I have is an option to choose to run this cron X minutes after hour.
Use Custom option when setting automatic speed tests to choose minutes after hour.
 

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top