DataStax Help Center

Some tips on getting the most IO performance out of SSDs

NB: For the following tips, it's always a good idea to test settings in a staging environment and see how it affects performance.

Cassandra on SSD

Cassandra works very well with SSD drives.  However because of how the storage engine works, usage of the drives needs to be tuned for high read and write concurrency.

Test your read/write concurrency settings

A simple way to test your settings is to create a long running write to the SSD partition (e.g. using dd).  Then as it's running, start a long read.  If things aren't set up correctly, either the reads or writes will suffer.

You can also look at your 'nodetool tpstats'.  If you see high pending or blocked on flush writer coinciding with relatively idle disk usage, that is also a symptom.

Device queue settings

The following device queue settings have been very beneficial for some customers:

echo deadline > /sys/block/sda/queue/scheduler
blockdev --setra 8 /dev/sda
echo 0 > /sys/block/sda/queue/rotational

Note: Replace the "sda" with the correct block device. This is a run time change. To make it permanent you need to put it in a rc.local script

fstab setting

An fstab setting that may be beneficial:

/dev/sda /var/commitlog          ext4 noatime,nodiratime,discard,errors=remount-ro 1 2
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

  • Avatar
    Shenglin Du

    noatime is a superset of nodiratime? 

Powered by Zendesk