We want to upgrade our Cassandra cluster to have newer hardware, and were wondering if anyone has suggestions on Cassandra or linux config changes that will prove to be beneficial.

As of now, our performance tests (our application specific as well as cassandra-stress) are not showing any significant difference in the hardwares, which is a little disheartening, since the new hardware has a lot more RAM and CPU.

 

Old Hardware: 8 cores (2 quad core), 32 GB RAM, four 1-TB disks ( 1 disk used for commitlog and 3 disks RAID 0 for data)

New Hardware: 32 cores (2 8-core with hyperthreading), 128 GB RAM, eight 1-TB disks ( 1 disk used for commitlog and 7 disks RAID 0 for data)

 

Most of the cassandra config currently is the default, and we are using LeveledCompaction strategy. Default key cache, row cache turned off.

The config we tried modifying so far was concurrent_reads to (16 * number of drives) and concurrent_writes to (8 * number of cores) as per recommendation in cassandra.yaml, but that didn’t make much difference.

We were hoping that at least the extra RAM in the new hardware will be used for Linux file caching and hence an improvement in performance will be observed.

 

Running Cassandra 1.1.5 currently, but evaluating to upgrade to 1.2.11 soon.

 

Thanks,

Arindam