I'm using a linux system as a router/firewall, with the following kernel:
Linux gentoo 6.0.8-gentoo-stripped-wireless #1 SMP PREEMPT_DYNAMIC Tue Nov 15 08:54:22 CST 2022 x86_64 AMD FX(tm)-8150 Eight-Core Processor AuthenticAMD GNU/Linux
I can provide the .config if needed.
I'm using the following NICs:
0b:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Settings for lan:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: slave
Port: Twisted Pair
PHYAD: 0
Transceiver: external
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: d
Link detected: yes
06:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
Settings for wan:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
I'm able to run iperf3 and get consistent, high results:
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 10.10.10.5, port 49356
[ 5] local 10.10.10.1 port 5201 connected to 10.10.10.5 port 49358
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 110 MBytes 919 Mbits/sec
[ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec
[ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec
[ 5] 3.00-4.00 sec 111 MBytes 931 Mbits/sec
[ 5] 4.00-5.00 sec 112 MBytes 941 Mbits/sec
[ 5] 5.00-6.00 sec 112 MBytes 941 Mbits/sec
[ 5] 6.00-7.00 sec 111 MBytes 928 Mbits/sec
[ 5] 7.00-8.00 sec 112 MBytes 941 Mbits/sec
[ 5] 8.00-9.00 sec 112 MBytes 941 Mbits/sec
[ 5] 9.00-10.00 sec 111 MBytes 930 Mbits/sec
[ 5] 10.00-10.03 sec 3.08 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.03 sec 1.09 GBytes 936 Mbits/sec receiver
-----------------------------------------------------------
But speedtest results peak at about 700mbps, and level much lower:
Retrieving speedtest.net configuration...
Testing from Spectrum (xx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by xx (xx) [367.09 km]: 29.198 ms
Testing download speed................................................................................
Download: 305.14 Mbit/s
Testing upload speed......................................................................................................
Upload: 38.66 Mbit/s
I pay for 950/40, and can get that from my desktop if it's directly attached to my modem. I was having performance issues using a Raspberry Pi 4 as a router because it was in powersave mode, and the first CPU core got loaded when there was high bandwidth. I haven't seen this thing using much CPU, so I don't think that is happening here. I just don't know why I can get such great speeds directly to my router/server, and from my computer to the internet, but not from my routers/server to the internet or through it. Is there something I can tweak to improve network performance? I can't think of what is slowing it down.
Extra info:
sysctl.conf
:
net.ipv4.ip_forward = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 4194304
net.ipv4.tcp_rmem = 65535 131072 4194304
net.ipv4.tcp_wmem = 65535 131072 194304
I'm able to get very close to a gigabit using transmission, maybe this is a single stream issue? I'm not sure.
I moved, plugged everything in, and am getting a gigabit now. Can't explain it, but a spectrum worker came with their handheld speedtester and told me it had to be my setup causing issues, I guess that isn't the case and there was some issue with that specific cable jack/connection? I made sure the contact seemed decent. Really can't think of how this can be explained.