OK, as I’ve been moving terabytes of data around with the NAS rearrangement, I remembered that I haven’t optimized the network itself. We have a nice UniFi network switch and the NASes are on either dual 1GBe with LACP or 10GBe. So with these things, one of the things you can do is to move from the standard data frame size of 1500 bytes to a so-called Jumbo frame, typically 9,000 bytes.
You should only do this is you have high bandwidth and low latency and high throughput. So don’t do this on your crappy home router, but if you have an enterprise-level switch with lots of capacity and everything is directly connected, that’s ideal for the home. The second thing is you have to enable it on your client devices. This is easy with Windows, Linux, or the Mac and impossible with other devices. It will only help if you are doing big data transfers so it won’t that much of a difference otherwise. And if you make a mistake, what happens is that when the connection is negotiated, it will settle on a smaller frame size, so it won’t break anything
The idea is that this should reduce the overhead in the system, but to do this, you need to make sure every component from source to a network device to destination is all set the same way. You can get some great performance increases and you can check to see if it works from a client ping -f -I 9000 _the_other_side
but it looks like you can’t run this on the Synology server itself even though you can ssh into it, you get a ping: socket: Operation not permitted
. And this isn’t a valid command, that is -f to flood for MacOS ping as it is Unicast and TCP.
For Unifi Network, note they typically use 9216 bytes and not 9000, so change the default to 9000 to work with Synology, but I don’t see that setting anymore. So to enable it, go to Unifi > Settings > Networks > Global Switch Settings > Jumbo Frames
and make sure it is on. It should be by default. You should check all your network switches to make sure they have the default to global settings in Unifi > Unifi Devices > _a specific switch_ > Advanced > Global Switch Settings
So for Synology, this is pretty easy (and note if you have very specific traffic, you can pick intermediate values like 4,216), the reason being that if you have lots of small traffic of less than 9,000 bytes, you are also wasting bandwidth. But in some examples like with say 10Gbe, it can double throughput just because the frame wasting isn’t as important with so much bandwidth. In the demonstration below, they went from 3.8Gbps to 6Gbps!
For Synology DSM 7.x, go to Control Panel > Network > Network Interface
and pick the active network interface, for example LAN 3 > Edit > Set MTU value manually > MTU value
and set that to 9000.
For the visually inclined, here’s a great tutorial:
For a Mac, you need to be connected via a wired connection. WiFi only allows 1500 MTU frames (media transmit units), but if you have a wired connection, you go to System Settings > Network
, then pick your devices such as Thunderbolt Ethernet Slot 1
or Belkin USB-C LAN
if you have say a USB C to Ethernet adapter. Then go to Details > Hardwave > MTU
and set it to 9000.