SpeedTest Feature Request

I think that also these info can be usefull. We can even show the full json somewhere, the important point is that such less relevant info should be hidden by default.

hum we are in a popover so yes we have to be short in information. I propose to make a speedtest tool in the network panel, we are in a modal, it is easy to play with any json output you need. no hurry to do it.

To solve this thread I would like to update speedtest and make the button reload workable

hello @mark_nl can you please give the ownership of the github repository of speedtest-cli spec file we would like to build and push it to our repo ?

I agree :wink:

1 Like

If I’m not mistaken it is already yours @stephdl

1 Like

yep but I saw you did one more commit, do we have to cherrypick ?

You may want to merge branch el7 into master and remove some Fedora build-system bits (.gitignore and sources)

It is a clone / fork from here:

Hello everybody,
I just would add my 2 cents to this topic especially about the fact that NethServer’s speedtest can be sub-bar.
This can actually be true if you have some broadband connection with some hundreds of Mbps, because the speedtest process on nethserver itself uses CPU in not negligible way.
I had the opportunity to check this in various cases and it is more evident when there are many services that are running.
On the other hand an i7 4600U CPU can still work very well, but its performances are quite far from mor recent CPUs.
About ARM Cortex it’s difficult to make a compare cause they have a completely different architecture.

1 Like

transfered to NethServer, thank mark

@giacomo could you accept the repository

2 Likes

No further action is required, the repo is already there: https://github.com/NethServer/SPEC-speedtest-cli

You’re now the admin :wink:

1 Like

HERE WE ARE

2 Likes

@davide_marini,

A clarification on my comments about the i74600U processor and Arm. You are correct, the i74600U is an older CPU, it was designed for low power ultrabooks, so it isn’t anywhere near as fast as a modern one, and definitely not as fast as a current Xeon. Having said that, for a single threaded process like the Nethserver speedtest (I am making a guess that it only uses one core for the main processing loop), often the memory bandwidth is on the critical path. The reason is that since you only touch a data item once, the cache isn’t of as much help as if it were operating on a higher locality of reference data set. Further, it is integer operations, and since it is one thread, one core, then the multi-stage pipeline stuff that higher end server processors have doesn’t help. Further, with the slowdown of Moore’s Law, a 5 year-old CPU isn’t as slow compared to a current one as it used to be, and much of Intel’s focus has been on improving battery life, not raw speed.

Concerning my comments on Arm, I have been spending a fair amount of time looking at Arm A7 (Cortex) processor performance versus Xeon for networking applications (Open vSwitch, firewall, routing, VPNs), Contemporary Xeons have seperate multi-level on-chip caches per core, and the Cortex processor always (I think) has one cache per pair of cores. With similar clock rates, for benchmarks that are helped by the cache, the ratio is about 2:1. As a conservative example, in our testing, a 3Ghz Arm using a single IPsec VPN connection in a VM using virtio, with 25GbE server class Ethernet NICs, no DPDK, no optimizations, can achieve in excess of 1 Gb/sec on 1 core for the VPN and 1 core for the kernel.

Where I mispoke, is that the Arm Cortex performance is probably closer to the i7 4600U, since the 4600U processor is not as fast as Xeon for even simple single-thread applications.

Most common design i’v seen for armv7 is a 32kb L1 cache per core and a common L2 cache. Do not know if this is in the armv7 (isa) specification or simply a popular replicated (licensed) reference design.

I do not understand the focus on the comparison of the two arm(v7) cortex A9 cores in the highly specialized piece of silicon in the netgear router (BCM47094) and the intel i7 U4600 without taking the (unnamed) Realtec dual-port NIC into account.

Realtec has a wide product range from bad to good with good to non-existing support in the linux-kernel and everything in between. Some of those in budget-friendly range aren’t the best (speaking mildly here) and tend to cause a lot of bustraffic/noise and ton’s of hw interrupts.

Being applied in an industrial fanless computer the Reatec NIC-chip is likely an PCIe 2.0 device directly hooked-up to one of the PCIe buses of the i7-4600U.
Best case scenario it uses one of the two 4-lane PCIe 2.0 buses giving you a max bus-speed 4 * 500 MB/s; Worst-case: it is a simple (budget-friendly) design using one of the four single-lane PCIe buses.

Al I’m saying is take all the hardware into account before jumping to conclusions.
And if network performance (throughput, bandwidth and latency) is a big deal, you may ask yourself if you are using the right hardware.

Executing a speedtest at regular level, IMO it’s not a good idea since the actual he network usage could change the results.
Latency is usually less affected by this problem, and you can already monitor and graph it using collectd: Statistics (collectd) — NethServer 7 Final

Nice work! Update has been released :wink:

2 Likes

@giacomo,

You are probably right for the general population of Nethserver users. What I would really like (and this is way off my simple set of feature requests, which I ordered based on my guess at effort required) is a map of capacity and load for:

The Nethserver gateway (bandwidth, latency from the LAN to WAN connection in the box, and correlated CPU consumption.
The bandwidth and latency from the WAN port on Nethserver to the closest Speedtest server.
My client on the LAN or WLAN to Nethserver LAN port bandwidth and latency (In other words, host a speedtest.net server on Nethserver so I can look at my local network.

nTopNG in Combination with: https://www.unixmen.com/install-speedtest-net-server-centos-7/ ?

1 Like

Completely agree.

The datasheet for the box lists 2xRealtek 8111E GbE NICs. The datasheet for the 8111E says it is 1 lane of PCIe at 2.5Gbps. As you probably know, PCIe 1.0 is 2.5 Gigatransfers per lane (250MB/Sec per lane) so the bus speed would support more than 1Gigabit/sec of Ethernet.

I agree with your points about RealTek (no professional experience) and their drivers, which to generalize to all Linux NIC drivers, performance varies a lot.

We can end this side discussion anytime :slight_smile:

1 Like

@harry realtek adapters are not that bad, but believe me, most are not that good. Due to CPU-to bandwidth ratio, often Broadcom and mostly Intel overcome the results of the Taiwanese ethernet chips. 8111F is PCIe 1.1 compatible, therefore i am not that confident for a sustained 1gbps ethernet load on that adapter. Otherwise, i’m confident that any network traffic will come not cheap CPU load.

Just for the sake of chatting, no disrespect intended :slight_smile:

I agree with @capote: just try ntopng.
As an alternative, you could configure a plugin for collectd: Speedtest script for collectd-exec plugin · GitHub

there is also a small software that can be installed on Nethserve rfor this purpose and also for people on the network to test

LibreSpeed - Speedtest

4 Likes