Cassandra and read latency -


i installed cassandra https://bitnami.com/stack/cassandra on cloud machine. cloned machine 2 machines. 1 running cassandra server (1 node cassandra cluster) , other acting client , issuing queries first 1 (server).

i used ycsb - https://github.com/brianfrankcooper/ycsb perform benchmark. observed read latency on server low few microseconds (around 50/100 99th percentile , max) observed using "nodetool cfhistograms <'db'> <'table'>" , "nodetool cfstats <'db'>" - data coming cache i.e. sstables in cache.

but end-to-end latency observed client (other node) ycsb benchmark tests high - average latency = 2000 us. wonder why end-to-end latency high 2000 opposed 100 (on server). network latencies low around 200 (as seen using ping). want cassandra server respond quickly/instantly possible. can help?

so start cfhistograms measures local read latency time pull off of memtables merge sstables. not include coordination, check proxyhistograms.

even should expect deviation client time. beyond network latency there latency in kernel , deserialization time in client. incoming network time, , server side cql deserialization not included. if full/ygc occurs in time may not included in c* latency time (which can 1-500ms). depending on version/configuration client request coalescing (up 10us) well. can expect 1ms in delays on jvm reaching safepoint ygc or revoking bias (if enabled, depends on version) if happen before record "start time" of request isn't included. sub 1ms latency on tcp network can change naggle (if enabled) , on tcp window seeing average of 200us may not consistent icmp ping , actual tcp round trip time.


Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -