Gigabit internet being limited by M9
Hi,
My ISP just upgraded my internet connection from 300/60Mbps (up/down) to 1000/100Mbps (up/down).
When I connect my laptop to their router directly and point my browser to speedtest.net at their instance of the Ookla system, I get 990+Mbps. This stays the same if I connect to the red internet VLAN in the switch (see diagram).
However, when I connect the laptop to the green internal VLAN and pass through the main Deco in Router Mode to be NATted to the red internet VLAN, I get really variable speeds - from 200Mbps up to 700Mbps where around 600Mbps seems to be most common.
I have set QoS to be 1024/1024 and removed all high priority devices.
I have this firmware installed on all Decos: https://www.tp-link.com/en/support/download/deco-m9-plus/v2/#Firmware (v1.5.3 210309).
The system is in Router mode. When I run internet speedtest.net, I see in the webpage for the main Deco that its CPU jumps up to around 50% (from 3%-10% at rest).
When I run 'Test Internet Speed' from the app (which should be running on the main Deco itself), I see between 700-750Mbps and the CPU sits at 94% for the download part of the test.
I'm thinking there might be a bug in the Deco firmware. I've tried all the older firmware revisions and seen the horrors of 1.5.0 and 1.4's where the lagging and dropouts were killing everyone. So I know the firmware has had a history of lower quality releases.
- Copy Link
- Subscribe
- Bookmark
- Report Inappropriate Content
Hi, would you mind simplifying the network topology and removing the HP ProCurve switch, connecting the main Deco M9 plus to the Sagecom 3890 directly to test the speed?
- Copy Link
- Report Inappropriate Content
- Copy Link
- Report Inappropriate Content
Have you seen this hardware/firmware reach 1Gbps on the internet before?
In my tests, I was getting 940Mbps on Deco M9 in AP mode, connected directly to router by one cable and to PC on which I ran speed tests by another cable.
- Copy Link
- Report Inappropriate Content
@Evilcraig my M9 Plus V2 (Deco M9 Plus(US)_V2_1.5.5_210519 AP MODE) can't reach gigabit speeds (tested using tplink android app) either... other PCs with ethernet saturate my 1Gbps connection easily
- Copy Link
- Report Inappropriate Content
ShadowVlican wrote
@Evilcraig my M9 Plus V2 (Deco M9 Plus(US)_V2_1.5.5_210519 AP MODE) can't reach gigabit speeds (tested using tplink android app) either... other PCs with ethernet saturate my 1Gbps connection easily
There is an issue with speed test reporting by Deco app for Deco mesh running in AP mode, for Ethernet connections faster than 500Mbps. To test actual speed of connections above 500Mbps one must connect laptop or desktop by Ethernet cable to Deco and run speed test from computer.
Also, Ookla recommends installing their app on computer for testing speeds close to gigabyte, instead of running speedtest.net through the browser. I strongly suggest to follow that recommendation.
- Copy Link
- Report Inappropriate Content
@Alexandre.
I'm really hoping to avoid switching to AP mode. The time and content restrictions for my kids, along with Guest access, have been super useful.
I tried the win33 app from Ookla and the modern Windows app. They are both hugely inaccurate (100-400Mbps and very varied during a single test). The only way I can reliably see 990Mbps in a test is in Edge to Speedtest.net
I am only testing on wired connections. Wireless and on phones is not ever above 350Mbps.
i think the very high CPU spikes seen on the Deco web page during the test show that the bottleneck is within the Deco in router mode.
- Copy Link
- Report Inappropriate Content
So I've been doing a lot of testing over the weekend. It seems like the negotiated TCP window size has a huge impact on performance throughput. And the device you test with has an impact on the negotiated TCP window size. I found that using my Surface Laptop 2 with the Surface Dock which has the ethernet adapter, will negiotate a small TCP window size (26KB) to some Ookla servers, specifically the one hosted by my own ISP which I was using for testing. If I sniff around to find a different Ookla server at a competing ISP in the same city, I get a window size of 64KB. This means my throughput to my ISPs speedtest.net instance is 150-200Mbps, but the competitors speedtest.net can reach 700-750Mbps. If I use a different laptop with a built-in ethernet NIC (but very much older), I can sometimes get a negotiated 1MB window size and therefore 950Mbps from the same exact ethernet cable. I can also see that the latency between the time when my PC sends an ACK to the server through until their server starts sendng more data is a lot slower when I talk to my ISPs server, than the competitor (10ms vs 1-2ms).
I noticed this because I started running iperf tests to a desktop PC with an onboard NIC which I would place on either side of the Deco (internal and external). When it was on the external side, I needed to add 3 or more parallel streams and set the TCP window size to be 1MB to get 950Mbps from my Surface Laptop with Dock. Reducing the window size would reduce the throughput.
So I think 2 things are going on:
1) The Realtek driver for the Surface Dock ethernet controller is pushing the negotitaed window size lower. There is no driver update (Jan 2020 is the latest), and there is no setting to control buffer sizes.
2) Because smaller TCP window sizes means more ACKs, this means you will spend more accumulated time delayed, waiting for data. The added latency incurred when talking to my ISPs server means these delays act like many small traffic lights, inhibiting the overall throughput. The ISP needs to fix its server so it doesn't create these dalys and smaller windows. I'm guessing it is under spec for the job or many customers testing against it simultaneously.
The Deco in Router mode doesn't seem to be adding any delay or reduction in throughput because I can run iperf between a client on the internet side of the Deco towards a server running on my Surface Laptop on the internal side and see 950+Mbps inbound (and vice versa for outbound too).
- Copy Link
- Report Inappropriate Content
Last post on the topic, I promise ;-)
I found a useful registry key to set which has helped negotiate the TCP window size up to 4MB. It takes a few seconds of inbound traffic to get it up, but once it is there, my Surface Laptop 2 with Surface Dock is able to see 700-800Mbps from any speedtest.net server.
Open regedit, browse to here:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0002 (your digits at the end will likely be different, but the GUID is the same as this one). You are looking for the key which contains your ethernet network card
Look for these 2 DWORDs:
ReceiveBuffers
TransmitBuffers
When you edit these set your vie to be "Decimal", not "Hexadecimal". If you see these DWORDs with an asterisk in front (e.g. *ReceiveBuffers) then you can edit these in the GUI of the network control panel (ncpa.cpl)
In my Surface Dock ethernet adapter, these were 8 and 4 respectively. I set them to 2048 and 1024 respectively. Reboot.
- Copy Link
- Report Inappropriate Content
Information
Helpful: 0
Views: 967
Replies: 8
Voters 0
No one has voted for it yet.