10

I have a five disk array running XFS in RAID5, and I would like to improve it's performance. I have seen some hints that putting the log onto a separate device can help, does putting the log onto an SSD help dramtically?

In theory, it should, but I have not been able to find any case studies where someone has actually done this, and buying an SSD and then having it not work well would be inconvenient at best…

Paul Wagland
  • 344
  • 3
  • 11

4 Answers4

9

The performance metric you need to keep an eye on is sequential writes. Devices with high sequential write rates are good for an external log device. That said, FS logs are pretty small relative to the data size. Old fashioned rotational magnetic media can turn in some impressive sequential write numbers. If you can afford to spare it, a single old-school hard-drive can be a very good external log device so long as you can dedicate that one device to that one log.

The top tier of SSDs can beat rotational media for sequential write speeds. By dedicating one of these premium drives to logging you gain a few things. Yes, it'll wear faster since writes do wear SSDs down. However, if you're only using 5% of the drive (if that much) the firmware on these drives is smart enough to allow even 50% (or more) bad cells before you start getting problems with the log volume corrupting; your OS should alarm on this well before you get to this point. By committing writes faster than rotational media, you greatly reduce the metadata bottleneck that XFS is prone to.

Is it any faster in practice? Can't say. A lot of it depends on what kind of data is on that XFS drive. As I said, metadata updates are the serious thing. If 'noatime' is not giving you enough breathing room and your throughput is still throttling on metadata updates, an external log drive (SSD or rotational) would be a good next step to eek out performance.

sysadmin1138
  • 133,124
  • 18
  • 176
  • 300
  • Thanks for the additional information. Do you have any kind of numbers as to what sort of improvement I could see from having an external log device on separate media? – Paul Wagland May 12 '10 at 18:45
  • No I don't. It depends quite a lot on the performance of your storage hardware, how Raid5 performance works on your controller, and how the data is accessed by the consuming apps/users. The difference could be quite significant if you're well bottlenecked on R5 disk I/O, or a few percentage points if you're not near your I/O ceiling. Testing is the only way to be sure. – sysadmin1138 May 12 '10 at 19:47
5

Re: "Limited writes haven't been a problem for good solid-state storage for 10 years or so..."

That's not true.

Newer Flash based SSDs are based on MLC flash and have have lower write endurance than older SLC based models (~10x lower). Firmware on these SSDs distributes the writes across the entire capacity of the SSD, this is called "wear-leveling". Bottom line is that all Flash SSDs wear out with write activity, and the more the density of the underlying Flash parts increases (from SLC to 2-bits-per-cel MLC to 3-bits-per-cel, etc), the faster the Flash wears out.

Disk drives wear out with time, Flash wears out with usage.

Flash is NOT a good place to put a file-system log, not only because Flash wears out, but for economic reasons. The log/journal writes are 100% pure sequential I/O (no randomness). For this workload, spinning disk costs only about 1/10th as much as SSD in terms of cost-per-MByte-per-second.

EricJ
  • 51
  • 1
  • 2
0

is there a way to send file metadata (inode,extents ...) to an external SSD ?

  • Depends on the file system. GPFS - a proprietary cluster aware shared disk file system from IBM - for example let's you separate data and meta data. It's also possible to specify replication for data or meta data. – pfo Aug 24 '10 at 15:57
-3

That would be a very bad idea. An SSD has a limited number of writes, putting a filesystem log on it would be a fast way to get to its end-of-life.

Best of luck,
João Miguel Neves

jneves
  • 1,041
  • 6
  • 15
  • Limited writes haven't been a problem for good solid-state storage for 10 years or so. Would you also advice against using regular harddrives because they sometimes break? – Alex Holst May 11 '10 at 21:33
  • 2
    This is a bit of a misconception. SSDs have a lifespan on the number of writes per memory block, not overall on the whole drive. Since log file writes are inherently sequential, writes to a single memory block are likely to be quite low. – Chris Thorpe May 11 '10 at 22:05