Optimize or change RAID-5 stripe size?
When using Final Cut Pro X on a multi-terabyte video library, performance can be slow when skimming and organizing media in the Event Browser due to many small I/Os, generally from 4 KB through 32 KB in size. See Dtrace I/O histogram in attached file.
The current volume stripe size is 64KB. Would re-striping the array at a smaller stripe size help this? What is the best procedure for that?
I'm using SoftRAID 5.5.5 on a 16TB 4-drive OWC Thunderbay 4, formatted capacity 12TB in RAID-5.
SoftRAID says: "optimize for video", stripe unit size: 16KB. I assume that means the volume stripe size is 64KB.
In video editing, normally a larger stripe size is better. However a frequent slowdown happens in this scenario, apparently due to small I/Os, maybe for plist, thumbnails or other small files. It seems plausible a smaller stripe size would help this frequent case while still giving adequate I/O performance on less frequent large sequential reads. Does that make sense?
With SoftRAID RAID 5, we always use 16k stripe unit sizes as the best setting for overall performance of large and small I/O requirements. There is no way to change this setting.
We are considering a couple enhancements in a future version of SoftRAID that would give your organizing tasks better performance, but we cannot pre-announce the kinds of features we have in mind. ;-)
So I think this is the best FCP can do with your volume. SSD"s would be much faster, but not cost effective.
With SoftRAID RAID 5, we always use 16k stripe unit sizes as the best setting for overall performance of large and small I/O requirements. There is no way to change this setting....We are considering a couple enhancements in a future version of SoftRAID that would give your organizing tasks better performance,..
Thanks. The traditional view is 16 KB stripes are too small for video, which is dominated by larger sequential I/O. However my case shows that is not always true, and 16 KB was a good choice. Despite the small strip size, the sequential performance of SoftRAID on the OWC Thundbay 4 in RAID-5 is very good -- better than the Promise Pegasus R4 which uses hardware RAID -- despite that using 128KB or larger stripe sizes.
Whatever SoftRAID does when building the stripe set, it is very fast.
FCPX is doing many small I/Os for Info.plist files related to thumbnail generation. Would there be any performance benefit to replacing the drives in the Thunderbay 4 with hybrid SSHD drives which at least have 8GB SSD per drive? Would that conflict with SoftRAID's performance or just not help any?
Activity Monitor already indicates over 16,000 reads per second in this case, with an aggregate I/O rate of about 180 MB/sec. The data rate is apparently limited due to the small I/O size. Since that many physical IOs are impossible, I assume SoftRAID or some filesystem component is caching most of these. The uncertainty is if those little files fall out of the SSHD cache it wouldn't be any better.
Although SoftRAID is already better than any hardware RAID solution I have tested, any future improvement to SoftRAID for cases like this would be appreciated.
thanks for your feedback.
Real SSD's would have a dramatic impact. I believe we can achieve over 30K I/O's per second over SSD.
Hybrid, I share your skepticism. Plus, there is little known of the lifespan on hybrid drives, or their failure rates over time.
I can mention FCPx small I/O performance to engineering to see if there is an optimization we could do for SoftRAID "6".