Ripshod
Part of the Furniture
Find you local Ookla server via the online speedtest and set that server as 'preferred' for your automatic tests.Auto server also.
I'm sure you've already checked your automatic speedtest are not over VPN.
Find you local Ookla server via the online speedtest and set that server as 'preferred' for your automatic tests.Auto server also.
I'll try with preferred server, and I'll report later.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?
top
nice -n 10 /jffs/scripts/spdmerlin generate
cru l
Thank you for your prompt help!Some things to try, might give some better ideas:
1. Runfrom a second SSH window while doing both manual tests and when letting the cron job fire automatically.Code:top
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 withCode: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?
I just set the Cron to run every 5 minutes (for the sake of debugging), and you know what? Correctly getting my upload speed.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.
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.3 - No. This is the only one each 6h (00h, 06h, 12h, 18h)
Thank you for your alert, and no, I haven't got the reason behind that...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.
Use Custom option when setting automatic speed tests to choose 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.
There you go, reason found! Best solution provided by visortgw.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.
It's certainly possible, but it would be a relatively long and "time-consuming" project to port and adapt all the relevant pieces of code from connmon to spdMerlin. IME, we're talking about 8-10 man-days (person-days??Is it possible to get the notification options like in connmon (i.e email, Discord, etc) for spdMerlin when the connection speed drops to a certain threshold?
Definitely, thank you! Just something to let me know if my router might need to be checked out/rebooted. Much appreciatedIt's certainly possible, but it would be a relatively long and "time-consuming" project to port and adapt all the relevant pieces of code from connmon to spdMerlin. IME, we're talking about 8-10 man-days (person-days??) which, when spread over my spare time during some evenings and weekends, could mean at least 2 months or more; and at this moment, I wouldn't want to commit such a long time to one single project. However, I can add only email notifications since that would be a much shorter task and doable within a more reasonable time frame. Any other notification methods might be added later, if time permits.
Would having only email notifications meet your needs?
No code changes were made to the spdMerlin v4.4.18 release version WRT running and handling speed tests.I had a script, up until upgrading spdMerlin v4.4.18 today, that would perform internet speed test on the active WireGuard client every 3 hrs and if the download speed and ping didn't meet the thresholds, the script would disable the current WireGuard client, enable the next WireGuard client, then perform internet speed test on the next WireGuard client. It would loop through all five (5) WireGuard clients until it found one that met the thresholds. However, after upgrading when script runs, it is performing internet speed test on the WAN and not the on the WireGuard client (e.g. wgc2). The line of code on the script that executes the internet speed test is provided below. The variable iface is incremented from 1 to 5 (wgc1 to wgc5) as the script loops through the tests. Did something change in this update? Any help would be appreciated.
Unless you have explicitly modified and customized the original spdMerlin shell script to accept and handle a 2nd parameter (/jffs/scripts/spdmerlin generate $iface > wglogfile.tmp
$iface), the above call will *not* do what you think it does.generate call, so the $iface is completely and absolutely ignored. Instead, the call runs the speed test(s) as it was intended and per design, based on the configuration parameters previously set up by the user for automatic speed test runs, such as:I appreciate the response and the clarification.No code changes were made to the spdMerlin v4.4.18 release version WRT running and handling speed tests.
Unless you have explicitly modified and customized the original spdMerlin shell script to accept and handle a 2nd parameter ($iface), the above call will *not* do what you think it does.
The unmodified/original spdMerlin code has never taken a 2nd parameter with thegeneratecall, so the$ifaceis completely and absolutely ignored. Instead, the call runs the speed test(s) as it was intended and per design, based on the configuration parameters previously set up by the user for automatic speed test runs, such as:
- Using only the interfaces tagged as *active* and *not* excluded.
- Using a preferred speed test server (if any) for each *active* interface.
- Checking for the upper and lower thresholds set up for auto bandwidth.
At this point, I can only suggest you double-check your current spdMerlin speed test configuration settings and take a closer look at how your own custom script interacts with the original/unmodified spdMerlin script.
You could use the installed ookla speedtest that spdmerlin uses to possibly get what you are looking for.I appreciate the response and the clarification.
agagne@rt-be88u:/jffs# /jffs/addons/spdmerlin.d/ookla/speedtest wgvpn1
Speedtest by Ookla
Server: Netafy Broadband - Manchester, NH (id: 72757)
ISP: Fidium Fiber
Idle Latency: 3.09 ms (jitter: 0.32ms, low: 2.93ms, high: 3.43ms)
Download: 110.38 Mbps (data used: 53.9 MB)
20.23 ms (jitter: 1.18ms, low: 2.42ms, high: 23.20ms)
Upload: 111.80 Mbps (data used: 50.5 MB)
24.78 ms (jitter: 2.37ms, low: 5.03ms, high: 45.50ms)
Packet Loss: 0.0%
Result URL: https://www.speedtest.net/result/c/8af6068c-54ba-42dc-9051-f3482a2e53f3
We use essential cookies to make this site work, and optional cookies to enhance your experience.