0

I have an application which needs to read large amounts of small and randomly distributed entries from storage. To improve the performance I am considering to install a specialized hardware RAID controller (like a Highpoint SSD7505) together with multiple high-end consumer NVMe SSDs (like the Samsung 980 Pro 1TB) and putting them into RAID0.

Upon researching this topic I found the opinions to differ a lot regarding IOPS with this setup. Some say the IOPS are worse than with a single drive, others say they almost scale up linearly with the amount of drives.

My questions is how RAID0 affects IOPS in this scenario and whether there would be a better solution to achieve my goal of maximizing IOPS.

4
  • Are you talking about files from a file-system or just blocks from some RAW e.g. database like system? What is "small" in your context, 4KB, 50KB, 200KB or more?
    – Robert
    Aug 3, 2022 at 22:50
  • 2
    There probably still are and in the past certainly were many hardware raid cards that couldn’t deliver the throughput needed to take advantage of the full combined capabilities of the connected SSD and/or NVMe drives. The raid controller would cap out at, for example, 150.000 IOPS, good for several dozens of spinning disks but not nearly good enough when each SSD individually could already support something like 85.000 IOPS. Then addressing each SSD directly (and doing software raid) makes more sense as that gives you more (170.000 vs 150.000) IOPS and more performance
    – HBruijn
    Aug 4, 2022 at 5:23
  • @Robert I am reading from a LevelDB, which splits its contents across many files on the filesystem. 4KB would be the average read size.
    – Bobface
    Aug 4, 2022 at 7:08
  • 1
    When it comes to reading 4KB blocks my assumption is that a RAID 0 is not helpful because the data size is way smaller than the striping size. Also the RAID controller adds latency in your set-up is most likely on of most important factor that decreases performance. I would assume that JBOD in OS level may be helpful to increase performance as it is very lightweight so it does not add much overhead and thus latency to the set-up.
    – Robert
    Aug 4, 2022 at 17:12

0

You must log in to answer this question.

Browse other questions tagged .