nosql - Tuning write performance in cassandra -
We have a typical scenario:
10 simple columns less than 10 column families
When we receive a request from the client, we need to write 10 000 000 records of this column family in the database and we are writing them in batch (1000 in a batch) It usually lasts 5-10 minutes depending on the number of nodes in cluster and replication factor.
After writing in the next few hours, we will get many updates (each record is updated 2 times).
So many of us write / update at a time (one hour) of the day and after that are very few.
Question: For the purpose of improving the write / update performance, I have looked at the memtable_flush_queue_size and similar configuration fields for example I do not have enough experience with the cassandra, to know what to do.
Any suggestion is helpful,
Evan
- Increase JVM Memory (maximum 12 GB on Java 6+) - This will automatically increase the size of memtables and reduce the flush interval, which also means that will be merged simultaneously in continuously updated RAM and coincidentally Not during - this will also reduce the disk usage
- Very important: Use separate disk for data and use to log in Switch to. You can use SSD for data, there is no substance to logging, since this sequential writes
- Changing the replication factor to 1 will generate less weight in the cluster, because each node has its The data should be kept in mind and there are no replicas, but you can lose data - I will not recommend it again.
This can help to get some better understanding:
Comments
Post a Comment