Note: the following is done on unRAID 6.9.2 and future versions may change things.
If you’re running unRAID without any cache disk there is a good chance you’ve noticed one of it’s weaknesses. Write speeds on unRAID arrays are rather slow because they require reading old parity blocks, calculation of new parity and writing blocks back to the disk. Combined with waiting for seek times on a HDD this results in poor writes in my case as low as 31MB/sec sustained.
My server has the following specs:
- Intel® Core™ i5-4440 CPU @ Base 3.10GHz – Turbo 3.3GHz
- 16GB Ram
- ASRock Z97M Pro4
- 5x Western Digital 5400RPM HDDs (2x Blues, 3x Reds, none are SMR, 2 parity)
Unraid performance without cache
A simple trick to improve these write speeds lies in the unRAID GUI. Enabling ‘reconstruct write’ in disk settings can easily double your write performance. This is because instead of reading parity, recalculating and writing to the disk it will act the same as when it’s rebuilding an array. It will calculate parity and write directly without having to read the disk first and wait on disk seek times. This setting has been nick named “turbo writes” online by many. One downside of this is that all the disks in the array must be spinning to do writes this way and therefor may increase power consumption if you’re making use of disk sleeping.
Unraid without cache, with ‘reconstruct write’ on
Enable Reconstruct Writes in unRAID
The steps to enable this setting are as follows:
- Go to Settings
- Then go Disk Settings
- At the drop down box for Tunable (md_write_method) select reconstruct write
Enabling this is safe and apart from spinning up all disks for every write it doesn’t have other downsides. This won’t net you the performance of an SSD or even a HDD cache disk being present however it will make coping over large files less time consuming.
Comparison with caching
The performance with this setting on comes close to having a HDD as cache however still falls behind somewhat. However as you can see having an SSD as cache can blow it out of the water although in my case I still can’t saturate the 1GbE connection.
Unraid with HDD Cache (1TB 7200RPM WD Blue)
Unraid with SSD Cache (250GB Samsung 860 EVO)