What's new

spdMerlin - Automated speedtests with graphs

Jack Yaz

Part of the Furniture
Make no difference really just the utilisation of a different core jumps from 0-5% to 100%.
Code:
taskset -c 0x00000002 ./speedtest
Interestingly hex numbers to do not match cores on Web UI and appears no way to choose to Core 1
Code:
taskset -cp 1 ./speedtest
 

RMerlin

Asuswrt-Merlin dev
is NAT/routing always bound to a particular core, e.g. 0?
Not that I know, especially with HND platforms where stuff gets split between multiple processes. Was suggesting testing just to determine if it does make a difference or not.
 

doczenith1

Very Senior Member
Hello - what are max speeds that spdMerlin can process, I am observing speeds tests running on spdMerlin lower than on my PC connected via WiFi to this roture testing through Ookla website.
I think I am hitting spdMerlin bottlenecks.
This is on my AC86U. With high speed connections your results can vary widely depending on what test server you connect to (as seen in my results). I suggest manually trying each server in the list accessed via SSH and spdmerlin option 3 and then set that as your preferred server.

1600209305095.png
 

Slawek P

Regular Contributor
This is on my AC86U. With high speed connections your results can vary widely depending on what test server you connect to (as seen in my results). I suggest manually trying each server in the list accessed via SSH and spdmerlin option 3 and then set that as your preferred server.

View attachment 26265
Yes I know that - but they do not double. It is not the reason, but thanks - e.g. I was testing same server on router and 2 mins later on my local PC and they showed 2x difference
 

Slawek P

Regular Contributor
Not that I know, especially with HND platforms where stuff gets split between multiple processes. Was suggesting testing just to determine if it does make a difference or not.
If I am perfectly honest - it looks that AX88U CPU affinity totally sucks. At least when combined with Ookla CLI
  • taskset with same cp number can max a different core looking at WebUI each time.
  • best"speed" below was achieved when it loaded two CPUs 30% and then switched to another 100%
Here are runs from AX88U cmd line, followed by CLI runs from my PC (over WiFi) for comparison.
Code:
#  ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     4.12 ms   (1.20 ms jitter)
   Download:   405.59 Mbps (data used: 365.0 MB)
     Upload:   110.27 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

#  ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.03 ms   (0.25 ms jitter)
   Download:   375.39 Mbps (data used: 377.0 MB)
     Upload:   110.27 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

# taskset -cp 0 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     4.79 ms   (0.57 ms jitter)
   Download:   378.41 Mbps (data used: 362.0 MB)
     Upload:   110.23 Mbps (data used: 49.9 MB)
Packet Loss:     0.0%

# taskset -cp 1 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.13 ms   (0.15 ms jitter)
   Download:   380.44 Mbps (data used: 303.5 MB)
     Upload:   110.28 Mbps (data used: 49.9 MB)
Packet Loss:     0.0%

# taskset -cp 2 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     4.93 ms   (0.18 ms jitter)
   Download:   378.19 Mbps (data used: 231.4 MB)
     Upload:   110.24 Mbps (data used: 51.0 MB)
Packet Loss:     0.0%

# taskset -cp 3 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.93 ms   (0.71 ms jitter)
   Download:   413.22 Mbps (data used: 356.7 MB)
     Upload:   110.30 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

# taskset -cp 3 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.04 ms   (0.20 ms jitter)
   Download:   380.44 Mbps (data used: 313.5 MB)
     Upload:   110.28 Mbps (data used: 51.0 MB)
Packet Loss:     0.0%

# taskset -cp 3 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.11 ms   (0.08 ms jitter)
   Download:   404.75 Mbps (data used: 299.2 MB)
     Upload:   110.27 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

# taskset -cp 3 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.22 ms   (0.03 ms jitter)
   Download:   380.74 Mbps (data used: 303.9 MB)
     Upload:   110.29 Mbps (data used: 49.9 MB)
Packet Loss:     0.0%

# taskset -cp 2 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.11 ms   (0.13 ms jitter)
   Download:   380.69 Mbps (data used: 294.5 MB)
     Upload:   110.26 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

# taskset -cp 0 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.11 ms   (0.08 ms jitter)
   Download:   380.02 Mbps (data used: 432.1 MB)
     Upload:   110.28 Mbps (data used: 49.7 MB)
Packet Loss:     0.0%

# taskset -cp 1 ./speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.11 ms   (0.19 ms jitter)
   Download:   411.94 Mbps (data used: 308.9 MB)
     Upload:   110.29 Mbps (data used: 49.6 MB)
Packet Loss:     0.0%
My local PC
Code:
>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.28 ms   (0.45 ms jitter)
   Download:   884.71 Mbps (data used: 1.0 GB)
     Upload:   111.18 Mbps (data used: 85.0 MB)
Packet Loss:     0.7%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.15 ms   (0.25 ms jitter)
   Download:   855.12 Mbps (data used: 855.8 MB)
     Upload:   111.08 Mbps (data used: 55.8 MB)
Packet Loss:     0.0%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.24 ms   (1.02 ms jitter)
   Download:   882.83 Mbps (data used: 972.6 MB)
     Upload:   111.08 Mbps (data used: 55.8 MB)
Packet Loss:     0.0%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     5.30 ms   (0.76 ms jitter)
   Download:   707.57 Mbps (data used: 850.2 MB)
     Upload:   111.14 Mbps (data used: 56.9 MB)
Packet Loss:     0.0%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.39 ms   (0.20 ms jitter)
   Download:   718.29 Mbps (data used: 988.5 MB)
     Upload:   111.15 Mbps (data used: 81.9 MB)
Packet Loss:     0.5%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.07 ms   (0.71 ms jitter)
   Download:   865.40 Mbps (data used: 1.1 GB)
     Upload:   111.14 Mbps (data used: 54.3 MB)
Packet Loss:     1.2%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.05 ms   (0.55 ms jitter)
   Download:   780.65 Mbps (data used: 950.7 MB)
     Upload:   111.11 Mbps (data used: 88.5 MB)
Packet Loss:     0.0%

>speedtest -s32944

   Speedtest by Ookla

     Server: Cerberus Networks Ltd - London (id = 32944)
        ISP: BT
    Latency:     6.39 ms   (0.14 ms jitter)
   Download:   843.59 Mbps (data used: 1.1 GB)
     Upload:   111.15 Mbps (data used: 79.2 MB)
Packet Loss:     0.6%
 

Slawek P

Regular Contributor
This is on my AC86U. With high speed connections your results can vary widely depending on what test server you connect to (as seen in my results). I suggest manually trying each server in the list accessed via SSH and spdmerlin option 3 and then set that as your preferred server.

View attachment 26265
It sounds as AX88U "feature" that AC86U does not suffer from.
What is CPU utlisation on WebUI when you got 800+ speed?
 

Vulcano

Occasional Visitor
In my AX88U with a connection of 1000MB download and 100MB upload give me a speed close to 100Mb upload but 500MB of download with spdMerlin, but with brower the speed shows the 1000/100MB
 

QuikSilver

Very Senior Member
In my AX88U with a connection of 1000MB download and 100MB upload give me a speed close to 100Mb upload but 500MB of download with spdMerlin, but with brower the speed shows the 1000/100MB
From first post and numerous replies within this thread...

spdMerlin uses SpeedTest CLI
If the speeds from this utility are significantly lower than those you see from the desktop app/browser test, the limiting factor will be your router's CPU. That being said, there is probably room for improvement/optimisation by the Ookla team in the CLI binary itself. Please direct feedback about speed issues to Ookla via the above link. There is nothing that I can do about them.
 

Vulcano

Occasional Visitor
From first post and numerous replies within this thread...

spdMerlin uses SpeedTest CLI
If the speeds from this utility are significantly lower than those you see from the desktop app/browser test, the limiting factor will be your router's CPU. That being said, there is probably room for improvement/optimisation by the Ookla team in the CLI binary itself. Please direct feedback about speed issues to Ookla via the above link. There is nothing that I can do about them.
Reported, Thank you
 

Lord Lovaduck

Regular Contributor
Hi Jack, guys....

I need to uninstall and reinstall all AMTM hosted scripts. Will copying /opt/share/spdmerlin.d and conmon.d somewhere and restoring them after reinstall preserve the configuration and stats for those two? Looks like it. Any caveats?
Thanks!
 

aletaziar

New Around Here
Installed some entware yesterday. Connmon and NTPd seem to have run properly over the past day, but spdMerlin hasn't done anything. I set it to run on the 1st minute of every hour, but it didn't run anything over the previous day. It looks like it only ran one test at 00:01. I tried running a manual test from the spdMerlin menu and got this error. The cmd line stopped moving after that. I had to use ctrl+c to get back control.

Code:
[error] Error: [11] Cannot read: Resource temporarily unavailable
Any thoughts?

EDIT: After a bit more experimentation I have found that this error only occurs when I try to run a test with a preferred server for my WAN connection. Automatic or manual, tests do not work if a preferred server is attempted. I'm not sure why this would be the case.
 
Last edited:

Slawek P

Regular Contributor
From first post and numerous replies within this thread...

spdMerlin uses SpeedTest CLI
If the speeds from this utility are significantly lower than those you see from the desktop app/browser test, the limiting factor will be your router's CPU. That being said, there is probably room for improvement/optimisation by the Ookla team in the CLI binary itself. Please direct feedback about speed issues to Ookla via the above link. There is nothing that I can do about them.
I have reported to SpeedTest CLI support too. However, I am not entirely convinced this just Ookla issue. Do we really believe Ookla tests their CLI on all possible routers?
I can easily imagine a situation this is purely AX88U issue.
Key question is why SpeedTest CLI does not distribute workload on four AX88U CPUs?
What is so different about AX88U hardware/software? Presumably same CLI source code once compiled and deployed behaves differently on AC86U and on Windows machine as opposed to AX88U. On the first two it distributes load on many processors resulting in 850Mbs speeds. Perhaps @RMerlin has some suggestions...
As it stands spdMerlin / Ookla CLI is pretty useless to me and I have deleted it from my router.
 

QuikSilver

Very Senior Member
I have reported to SpeedTest CLI support too. However, I am not entirely convinced this just Ookla issue. Do we really believe Ookla tests their CLI on all possible routers?
I can easily imagine a situation this is purely AX88U issue.
Key question is why SpeedTest CLI does not distribute workload on four AX88U CPUs?
What is so different about AX88U hardware/software? Presumably same CLI source code once compiled and deployed behaves differently on AC86U and on Windows machine as opposed to AX88U. On the first two it distributes load on many processors resulting in 850Mbs speeds. Perhaps @RMerlin has some suggestions...
As it stands spdMerlin / Ookla CLI is pretty useless to me and I have deleted it from my router.
New 386 firmware coming will have speedtest built into it so this conversation will be for naught in the future.
 

Slawek P

Regular Contributor
New 386 firmware coming will have speedtest built into it so this conversation will be for naught in the future.
That is a fair point, though this will be a while before it is available and this speedtest might have same feature on AX88U, right?:)
 

JGrana

Senior Member
I have reported to SpeedTest CLI support too. However, I am not entirely convinced this just Ookla issue. Do we really believe Ookla tests their CLI on all possible routers?
I can easily imagine a situation this is purely AX88U issue.
Key question is why SpeedTest CLI does not distribute workload on four AX88U CPUs?
What is so different about AX88U hardware/software? Presumably same CLI source code once compiled and deployed behaves differently on AC86U and on Windows machine as opposed to AX88U. On the first two it distributes load on many processors resulting in 850Mbs speeds. Perhaps @RMerlin has some suggestions...
As it stands spdMerlin / Ookla CLI is pretty useless to me and I have deleted it from my router.
Im not sure if this helps (or hurts) the discussion, but I have an AX88U and can see that during a full speedtest run, it moves between processors during the test.

I used Entwares procps-ng-ps and pgrep to watch what core/processor a single run of the speedtest application was running on.

ps -o pid,psr,comm -p $(pgrep -x speedtest)

It showed that it essentially ran on all 4 at one point or another:

PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 3 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 0 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 1 speedtest
PID PSR COMMAND
15522 2 speedtest
PID PSR COMMAND
15522 3 speedtest

I run unbound with 2 threads. It showed a similar processor distribution.
I believe what we really want is a multi-threaded speedtest binary.

ps: Im not sure how to see what app thread is running on a core/processor.
 

Latest threads

Sign Up For SNBForums Daily Digest

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