We have moved a web application with an Oracle database to a new server because the old one was dying. The old server had two mirrored hard discs plus a separate non-mirrored SSD for the Oracle datafiles (without redo and undo log). The new server has almost the same configuration except there are now two SSDs to have them mirrored as well.
Unfortunately, the random write performance of the software RAID-1 with SSDs was very poor. During the night when a large amount of data is merged into the database the web application almost stopped working because simple insert operations like adding a log entry took 20 seconds or more. The RAID-1 simply could not keep up with Oracle's write requests caused by the nightly jobs (random access to the datafiles).
I've then reverted the configuration to the old one: no RAID but just a single SSD for the datafiles. Now the performance problems are gone, the web application is snappy at all times and the nightly jobs are about 10 times faster than with the RAID (and about the same as on the old server).
How can the software RAID possibly be at least 10 times slower than the same drive without a RAID?
Hardware:
- Intel Xeon E3-1245 V2 @ 3.40GHz
- 32 GB RAM
- 2 x Seagate Constellation ES.2 ST33000650NS
- 2 x INTEL SSDSC2BW240A4
Commands to setup the RAID:
# mdadm –-create –-name=3 /dev/md/3 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mkfs.ext4 /dev/md3
BTW: I can't run any experiments on the new server as we had been under pressure to set it productive (the old one was dying).