An alternative if using >3.8 you can use the org.apache.cassandra.metrics:type=Messaging,name=[DC]-Latency mbean where [DC] is the name of the DC and you can get the inter DC latency per node (to that node). This does not account for NTP drift though, just how long it takes messages (ie mutations) take to get to a node from other DCs.
Chris On Tue, Oct 17, 2017 at 7:18 PM, Jon Haddad <j...@jonhaddad.com> wrote: > I recommend figuring out the latency between your datacenters. Cassandra > isn’t going to be any more than that barring JVM pauses on the remote > coordinator. > > > On Oct 17, 2017, at 4:17 PM, Bill Walters <billwalter...@gmail.com> wrote: > > Hi Everyone, > > I need some suggestions on finding the time taken for Cassandra > replication to happen from east to west region for write and read > operations on a multi DC cluster. > Currently, below is our cluster setup. > > *Cassandra version:* DSE 5.0.7 > *No of Data centers:* 2 (AWS East and AWS West regions) > *No of Nodes:* 12 nodes (6 nodes in AWS East and 6 nodes in AWS West) > *Replication Factor:* 3 in each data center. > *Cluster size*: Around 40 GB on each node > > Sometime, next year we have an activity where our clients are going to be > reading only from AWS West region. The data center in AWS east will be > available but we do not want any reads to be done on this.(Our management > wants to know the time it takes for Cassandra to replicate from one DC to > the other) > > Here are some options I have thought of in finding the time taken for > Cassandra replication to happen from AWS East DC to AWS West DC. > > 1. Setup a Java client to write/read a transaction with *"Local Quorum" > *consistency > level in* AWS East* region as Local data center, capture the time taken > for this activity. Similarly use this client to perform read/write > transaction with *"Local Quorum"* consistency level in *AWS West* region > and capture the time. Then finally perform the same transaction with with > *"Each > Quorum" *consistency level and capture the time. > > *Inter DC latency* = *Time taken for Each Quorum transaction* *-* *(Time > taken for Local Quorum transaction in AWS East as local dc)* *-** (Time > taken for Local Quorum transaction in AWS West as local dc)*. > > > 2. Utilize the https://github.com/gitaroktato/cassandra- > replication-latency-tools open source project where a Python Cassandra > clients writes in one Data Center and other client reads in other data > center. > > > Can you please suggest if my strategies above will help in finding the > Inter DC latency or there are other ways I need to follow. > > > Thank You, > Bill Walters. > > >