0

I deployed a Cassandra 2.2 ring composed by 4 nodes in the cloud with 8 vCPU and 8GB of ram. I am running some tests now with cassandra-stress and YCSB tools to test its performance. I am mainly interested in read requests with a small amount of write requests (95%/5%).

Running the experiments, I noticed that even setting a high number of threads (or clients) the CPU (and disk) does not saturate, but still always around the 60% of utilisation.

I am trying to figure out where is the bottleneck in my system. From the hardware point of view it seems all ok to me. dstat

I also looked into the Cassandra configuration file to see if there are some tuning parameters to increase the system throughput. I increase the value of concurrent_read/write parameter, but it doesn't increase the performance. The log file also does not contain any warning.

What it could be that is limiting my system? Thanks

Diego
  • 11
  • 2
  • The main thing that bottlenecks a Cassandra node, is a poor data model and ill-designed queries that rely on secondary indexes or BATCH statements. It'd help to see what (exactly) you are running on your nodes. You should also check `nodetool compactionstats` to see if you are constantly compacting (another sign of a poor data model or use case). – Aaron Jan 04 '17 at 21:01

1 Answers1

0

You might want to consider running cassandra-stress from outside the cluster and on multiple instances as described in Usage of the Cassandra tool cassandra-stress

Community
  • 1
  • 1
J KVS
  • 101
  • 6