Hi all!
Thanks in advance for any advice you can provide.
My situation is as follows -- I have a large home server that usually sat behind an ASUS RT-AC68U gigabit router, connected via Cat6 cable. From outside my network, I can connect to an SFTP server (from across the country, Boston -> Seattle) and transfer at a pretty high speed - 64Mbit/sec (Boston is the client and receiver) on a 100Mbit connection on each side. Not bad!
Lately I ran out of ports, so I picked up a D-Link DGS-1210-10 (non-POE version, hardware revision C) for extra ports and some of the advanced features I might use.
After a day and a half of troubleshooting, when my server is plugged in behind the D-Link switch and I try the same file transfer, I can barely get beyond about 8Mbit/s. Also, the transfer speed starts VERY slowly, and eventually ramps up (more on this in a bit).
Plug the server back into the Asus router directly, and back up to 64Mbit/s O_O
I tried different cables to rule out the simple stuff. I tried different ports on the D-Link switch. I disabled all "smart" features of the switch. I set the switch port to force 1000/Full. I ensured Jumbo Frames was enabled on the switch. I updated the firmware on the switch to the latest (it came with the latest already installed, but I re-flashed anyway). I turned OFF jumbo frames everywhere and rebooted everything.
Same deal - on the Asus router connected directly to the building fiber I can get much higher transfer rate to Boston than if I go Server<->D-Link<->Asus<->Internet<->BostonClient.
Internally on my own network, if I'm connected via Wifi, I get consistent speeds whether the server is on the Asus router or behind the D-Link switch - 500Mbit/sec on Wireless AC
I ran tcpdump on the sftp server during both tests with the Boston linux client, and when plugged directly into the Asus router (no D-link switch), throughput is a solid 50-60+ Mbit/sec. Window scaling is a solid 66560 from server->client and client->server it ramps up by about 1.2MB/s until it peaks at 3.2MB just around 3s into the data transfer. It stays there the whole time. I get a consistent ~5000PPS
When the server is behind the D-Link switch, throughput from server->client, once SSH negotiation occurs, starts at about 0 and is a very fine step function every .1s or so from 100Kbit/sec until it hits ~8Mbit/sec and hangs out there for a bit. Window scaling from server->client is still good around 65k the entire time, but client->server is now a fine step function from 30KB up to 210KB, going up about 30KB/sec.
Any advice or tips are appreciated!
Thanks!
MrW