How to get reliable insert time in Kassandra?

I am currently comparing Cassandra with 3 nodes using CassandraSharp. My main concern is more latency than bandwidth, so after a bit of GC setup, here are my numbers (on 100,000K inserts, mono stream):

  • Iter / sec: 1600
  • Medium: 600μs
  • 95 cent: 600μs
  • 99 cent: 5000μs
  • Max: 50,000 μs

My problem is that from time to time I get a “bad” delay (50 ms), my goal is to have a constant delay even at the cost of a higher average.

I believe this is caused by the GC, and I wonder if this can be avoided.

(As a note, is it useful to send a large number of inserts to one node and allow it to process it, or do I need to “load balance” in the client?)

+5
3

50 . GC logging cassandra-env.sh, , , .

( , , , , flushes - /.)

, ( cassandra-env.sh) .

+2

, . , GC, , - Memtables.

50ms ? Cassandra , , , , . CassandarSharp, , .

, cassandra , , , , , node, , node ( node - ), . , - node , .

+1

If you are interested in reliable insertion times, you can check out the Acusu Cassandra distribution, which provides a 100-fold stable delay on insertions: Cassandra in the "Downloading a heavy recording" section (note, in particular, the second image).

0
source

All Articles