Configuration, monitoring, performance tuning and additional advanced topics and resources.
Say you have a cluster with nodes split among 2 DCs, DC1 and DC2. DC2 goes down for a time, then returns to service. Your maximum outbound hint streaming speed per node is computed by:
max_streaming_speed_per_node = ( hinted_handoff_throttle_in_kb / ( node_count - 1 ) ) * max_hints_delivery_threads max_wan_hint_speed = max_streaming_speed_per_node * DC1_node_count
The primary settings for hints are in cassandra.yaml and look like this:
hinted_handoff_enabled: true # this defines the maximum amount of time a dead host will have hints # generated. After it has been dead this long, new hints for it will not be # created until it has been seen alive and gone down again. max_hint_window_in_ms: 10800000 # 3 hours # Maximum throttle in KBs per second, per delivery thread. This will be # reduced proportionally to the number of nodes in the cluster. (If there # are two nodes in the cluster, each delivery thread will use the maximum # rate; if there are three, each will throttle to half of the maximum, # since we expect two nodes to be delivering hints simultaneously.) hinted_handoff_throttle_in_kb: 1024 # Number of threads with which to deliver hints; # Consider increasing this number when you have multi-dc deployments, since # cross-dc handoff tends to be slower max_hints_delivery_threads: 2
Document here
Document here
Document here
Document here
Document here
Document here