Understanding File Transfer Performance in the unRaid Environment


Recommended Posts

While there are a number of discussions around file transfer performance in the forum, I've not been able to find a specific discussion on file transfer performance between PC's and the unRaid server across a network and how Cache affects that.  I know there are many variables that can affect performance, but I have a specific question based on recent experience.

 

I have a modest server with this configuration:

1. I5 2500k w/32gb Memory (unRaid 6.9.2 - religiously keep all plugins/docker apps up to date)

2. Internal SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

3. 2 - Serial Attached SCSI controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05) 

4. Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 09)

 

15 total drives in the system (variety of HGST/Segate 2-6TB drives) w/39TB total storage (2 parity), 1 512GB SSD Cache

(See attached Drive list for details)

 

I run typical apps, Maria DB, Plex, GS Dock (Goodsync), Nextcloud, Krusader, and the server is rarely stressed.

 

I've been moving a lot of files (ISO) lately as I have acquired a new library of movies.  In doing so I ran into a problem where the Cache drive was filled and through my own misconfiguration (i.e. using 'prefer cache' for shares) had problems.

 

Prior to the change turning off cache for the ISO backup share, I saw 113mb/s copying ISO files (6-8GB) to a share I'm storing those files on.  After I changed the Cache for the ISO share to Cache=no, I no longer run into problems, but I'm seeing performance roughly 50% of what it was. 

 

The approximate throughput for Gigabit Ethernet without jumbo frames and using TCP is around 928Mbps or 116MB/s.  I'm pretty sure that the 113mb/s to the SSD was limited by the gigabit network speed (plus a bit of overhead).  Great discussion of all the factors that affect file transfer over gigabit ethernet can be found at (https://www.cablefree.net/wireless-technology/maximum-throughput-gigabit-ethernet/).  Thus, I'm getting what I paid for when I use the unRaid Cache=yes.

 

So this is my question:  when I set the ISO share to be no cache, is the 68mb/s (typical) speed I'm seeing a limit of the physical drive itself or is the performance hit of file management overhead of unRaid?  The slowest drive I have, the 2TB HGST's have a sustained transfer rate of 133mb/s, so it seems it should be able to consume what's coming.

 

So it seems that the difference in performance between Cache=yes vs Cache=no is unRaid file management overhead?  Is that 50% hit correctly identified, or am I missing something important...

 

Thanks in advance for your wisdom and education...

 

 

 

unraid-disks.png

Link to comment

I think you are forgetting the time taken to handle the parity generation.  My guess is that you have the Disk Settings parameter "Tuneable (md write method)" set to auto.  That means that the destination drive and the parity drive have to be read and then written with data and new parity.  The read allows the new party to be calculated using the previous data and parity along with the new data.  That will restrict speed to, at best, one half of what the drives are capable of.  If you change that setting to "reconstruct write", all of the drives will be spun up, but the new parity will be recalculated based on the new data in conjunction with the existing data on the other drives.  That will eliminate the need to pre-read the destination and parity drives and will allow a much higher average write speed to be maintained. 

 

So, to answer your question, what you are seeing is due to the way that Unraid works, but the "reconstruct write" setting allows you to overcome that barrier provided that you don't mind the overhead of spinning up all of your other drives.   And whether that works well for you may also depend on whether there is any other disk activity at the same time,  but that's down to individual use cases. 

Edited by S80_UK
  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.