Posted on August 1, 2021Tweet
So it didn't take me very long to cave... I ordered a 10 gigabit switch shortly after setting up the Helios64 NAS - not being able to take advantage of the 2.5Gbps network interface on the Helios was really starting to annoy me. I wanted to be able to work on my photos and videos from an NFS share rather than having to move them over and back between my laptop and the server. This did not perform brilliantly with the gigabit network connection and the spinning harddrives so the aim of this upgrade was to improve this experience. I found myself putting off editing photos just because of the poor performance. My Steam library has also grown substantially over the past year so I needed somewhere to put the games too. The 256GB drive in my laptop just doesn't do the job anymore.
The main requirement for the new switch was that it had to be as near silent as possible since my homelab is located in my living room,. This pretty much ruled out any old enterprise network switches. The outgoing switch was a simple unmanaged 8 port gigabit switch from Netgear which to be fair has been rock solid over the last few years. Low power consumption was also something that I was looking for as this generally leads to lower amounts of heat being generated (and a smaller hit to the electricity bill..). I only really wanted two 10Gbps ports - one for the microserver and one for my laptop so that I can access my photos and steam library quickly over the network. The rest of the ports would ideally support 2.5Gbps so that I could connect the helios64 and use some cheap 2.5Gbps USB 3 ethernet adapters for other important lab machines.
I came across a network switch from QNAP called the QNAP QSW-M2108-2C that satisfied the majority of my requirements. Its a managed switch with two 10GbE SFP+/RJ45 ports and eight 2.5 Gigabit ports. According to the tech specs it does come with a fan but I have yet the hear it spinning up. Its been running well now for the past three months mostly as a dumb switch apart from a couple of VLANs for the WiFi. The switch's web interface is quite simple and easy to navigate - it had everything that I needed for my simple configuration and luckily enough I have not had to log in since the initial setup.
There were a few more upgrades required in order to take advantage of this new network switch and the increased bandwidth. My HPE Microserver had the best upgrade potential so I decided to use it as my "Fast Storage" server. I was able to pick up a reasonably priced 10Gbe SFP+ PCIE network adapter to upgrade the networking of the Microserver to 10 gigabit.
For the storage, I decided to go for solid state drives as I was getting tired of the spinning harddrives. I went for two 2TB SSDs which were added to the server as a RAID 0 Btrfs filesystem.
Unfortunatley the upgrade to 10GbE on the laptop side will have to wait - the majority of 10GbE adapters for laptops use thunderbolt ports and are very expensive. Also my laptop is a few years old now and only has one thunderbolt port which is normally taken up with an eGPU so I was limited to picking from USB 3 adapters. I went for the QNAP QNA-UC5G1T which is a 5GbE USB 3.0 adapter however I am not sure if I would recommend it. This adapter is more than double the price of the 2.5GbE adapters and it isn't actually capable of hitting 5Gbps - according to QNAP's website it maxes out around 4Gbps in ideal conditions. Its still a major upgrade from the WiFi of the laptop.
I have been very happy with the performance so far especially since I have not carried out any optimizations on the network such as enabling Jumbo Frames. Editing photos and videos from the NFS share feels as if the files are stored locally on the laptop which is what I was hoping for. I have carried out some simple iperf tests and some read/write tests over NFS to give you an idea of the actual performance gains. Its important to highlight again that these tests have been run without any optimizations applied such as Jumbo Frames etc and as mentioned previously, the QNAP 5GbE USB 3 adapter is not capable of hitting 5Gbps. The below iperf test is from my laptop using the USB 3 adapter to the HPE Microserver and as you can see with my current setup it is hitting about 3.5Gbps.
I also discovered that the 2.5Gbe NIC on the Helios64 struggles to reach its advertised speed but it is still about twice as fast as a standard gigabit connection so can't really complain.
To demonstrate the read and write speeds that I am getting over the NFS share - I carried out a couple of simple rsyncs between my laptop and the microserver. As you can see there is definitely some performance tuning that could be applied to improve these speeds as they are well below the local read/write speeds of the disks. I am a little bit reluctant to make these changes since it has been so stable for the last few months and I am very happy with the experience of editing photos and videos over the network. If anybody has any simple changes that I could carry out to improve the performance please let me know!
Brian Carey | Software Engineer