2

I cannot explain this, I will start by listing these speed test results

this one is the linux host running mxlinux latest version

linux host

this one is the windows 10 running inside vmware on the same computer

windows running inside a vm on the linux host

I'm trying to figure out why it's THAT bad on linux

I have tried the web interface, I'm getting the same kind of result every single time
I have tried different distribution (live usb) same thing
I have tried different browser, again same thing

I don't think it should matter but just in case; I have a gigabyte x570 aorus pro with amd 3900x, 32 gig ram and linux is installed on an nvme

I wonder if it's something on my side or speedtest is that bad with linux or auto tunning of sysctl with tcp is the cause or some weird/obscure setting with the kernel.

I don't know if it matter too, my router is a mikrotik hap ac2, the same cable is used on the linux host and the windows 10 vm

I'm open to any suggestion, tweak, etc. it's really bad for no reason.

edit 1

I forgot to add that from my router with what is called btest, I was able to get the same speed and even faster than on windows 10 with a public server

I have a NAS connected to the same router, I ran iperf and I'm getting my full 1gb speed between linux and my NAS

Edit 2

MTR

Edit 3

I think I found the culprit.

with mikrotik router, there is a packet sniffer that show a lot of information and one of them is which cpu is used.

the mikrotik that I have got 4 cpu

under windows, it use multiple cpu while under linux it use only one cpu during the speedtest

something under linux is making it use only one cpu

Edit 4

look like I need to upgrade the firmware of my router to the latest version 7.x

I am using latest version of 6.x and they added a feature in 7.x where I can lower cpu usage while using vlan.

I quickly tested and it look like it solve my issue, getting same speed under linux as windows screenshot and more, I will look at this more this weekend because I tested with a bare bone configuration, not my real one.

Edit 5

so it look like I had to upgrade to latest version 7.x to be able to get the maximum speed under linux...

Edit 6

I had to use the new feature fast track that work with vlan-filtering since 7.2

linux with 7.x

Fredou
  • 131
  • 6
  • Check the MTU . Your router might be advertising an MTU larger than actually supported by the network. Also, check whether IPv6 works correctly within the VM and outside. Some IPv6 speed tests are very misleading, also – Marcus Müller Oct 26 '22 at 00:40
  • @MarcusMüller ipv4 only, I don't have ipv6, for mtu I tried ping with flag no fragmentation and it pass, I tried MTU 1500, 1492 and 1400 same result – Fredou Oct 26 '22 at 00:48
  • Wow, such a beefy internet connection but no IPv6? What a waste! Anyways, this is a very peculiar problem. Can you compare mtr running outside the VM with WinMTR (Redux) inside? – Marcus Müller Oct 26 '22 at 00:52
  • Say, tracing the route to a Google chrome download server? – Marcus Müller Oct 26 '22 at 00:52
  • 1
    @MarcusMüller ipv6 is coming at some point soon, going to run MTR, i will edit my question with the result – Fredou Oct 26 '22 at 00:54
  • @MarcusMüller i will wait until I got 100 responses, running both in parallel – Fredou Oct 26 '22 at 01:00
  • @MarcusMüller question updated with screenshot – Fredou Oct 26 '22 at 01:02
  • Thanks! I'm now really stumped. This is amazingly identical but different in outcome. – Marcus Müller Oct 26 '22 at 11:10
  • @MarcusMüller found something, see my last edit – Fredou Oct 27 '22 at 11:44
  • wow, cool! Maybe use wireshark to capture and analyze the packets from both your linux and your (vm) windows on your PC (assuming it's a good idea to disable the packet sniffer for now on the router) and try to figure out a difference – Maybe one uses a much different TCP window size, the packet sniffer notices and tries to follow all this on one CPU? Maybe Linux does something stupid? Maybe also ask the mikrotik community/mikrotik themselves - after all, this is a bug. – Marcus Müller Oct 27 '22 at 11:53
  • @MarcusMüller see edit 4 and edit 5 for updates – Fredou Oct 29 '22 at 04:20
  • 1
    Thanks, and I'm very happy you could solve the issue! – Marcus Müller Oct 29 '22 at 06:23

1 Answers1

1

I don't know why under Linux the speed test is using only one CPU for my Mikrotik but I was able to fix the slowdown by upgrading to 7.x (at minimum >= 7.2) to be able to use fast-track under VLAN filtering at the bridge level.

Stephen Kitt
  • 411,918
  • 54
  • 1,065
  • 1,164
Fredou
  • 131
  • 6