SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Monitor Everything 
By: Chris Lohfink 
Cassandra Summit 2014
About Me 
● Sr. Engineer at Pythian 
o Lead of Cassandra Practice 
● Remote in Minnesota 
● DataStax MVP for Cassandra ‘14 
● Interests 
o Java, Clojure, Python dev 
o Data science 
o Hobbyist electronics 
#CassandraSummit 2014
About Pythian 
Pythian is a global data outsourcing and consulting company that 
specializes in optimizing and managing mission-critical data systems. 
Pythian blends the world’s leading data experts with advanced, secure 
service delivery processes to create the industry’s best standard of care 
for its clients. 
Since its inception, Pythian has managed some of the world’s largest, 
most business-critical data infrastructures. 
#CassandraSummit 2014 
10,000 
Pythian currently manages more than 10,000 
systems. 
350 
Pythian currently employs more than 350 people 
in 25 countries worldwide. 
1997 
Pythian was founded in 1997
About Cassandra 
● No Single Point of Failure 
● Fault Tolerant 
● Awesome properties for an operations team who does 
not want to get up at 3am 
#CassandraSummit 2014
About Cassandra 
● Nothing should be set up and forgotten about 
● Easy to do with Cassandra though 
o Fault tolerance on properly configured setup handles 
single node being down or having temp performance 
issues 
o No back pressure on writes until there is a lot of 
#CassandraSummit 2014 
trouble
Utilize the fault tolerance buffer 
● Need to observe and react to current issues 
● Predict future issues 
● Divide this into two approaches 
#CassandraSummit 2014 
o Proactive 
o Reactive
Proactive 
● Daily & Weekly checkups to prevent, and 
predict problems 
o Capacity 
o Performance bottlenecks 
o Data Modeling issues 
#CassandraSummit 2014
Reactive 
● Something about best laid plans… 
o Hardware failures 
o Bugs 
o Malicious or Non-Malicious users 
● Alarms, Pager Duty 
#CassandraSummit 2014
Common element 
#CassandraSummit 2014 
● Data is needed 
o form alerts 
o find anomalies 
o trending 
o debugging
Metrics 
● Window to the application 
o Bridge the gap - Coda Hale 
#CassandraSummit 2014
Gathering Metrics 
SOURCES 
Cassandra Environment 
OpsCenter Logs 
JMX CPU, Disk, Network 
Nodetool JVM, GC 
#CassandraSummit 2014
Metrics 
but of course… 
Without context, the data is just pretty graphs
JMX 
● Java Management Extensions 
● Complex… very engineered 
● Resources represented as objects with 
attributes and operations 
● Used for monitoring or as input 
#CassandraSummit 2014
JMX 
● The annoying gateway to metrics 
○ Poor tooling - requires java 
○ Slow, Memory Leaks 
○ Historically and currently frustrating for ops (pre 2.0.8) 
Cassandra 
Init connection to port 
7199 Reply with hostname:port for 
1024-65535 
#CassandraSummit 2014 
RMI connection 
Client (You) 
Gets new hostname:port, 
drops old connection and 
attempts to connect 
7199 
7199 
Connected!
JMX 
#CassandraSummit 2014 
● Visual 
o jconsole 
o visualvm 
● Command line 
o jmxterm 
o jmxsh 
● MX4J 
● Jolokia
JMX 
[domain]:[key]=[value],[key2]=[value2]... 
#CassandraSummit 2014
JMX 
[domain]:[key]=[value],[key2]=[value2]... 
com.pythian:site=blog,type=views,target=post1 
#CassandraSummit 2014
JMX 
[domain]:[key]=[value],[key2]=[value2]... 
com.pythian:site=blog,type=views,target=post1 
#CassandraSummit 2014
JMX 
[domain]:[key]=[value],[key2]=[value2]... 
com.pythian:site=blog,type=views,target=post1 
#CassandraSummit 2014
JMX Domains 
org.apache.cassandra. 
● db 
● internal 
● net 
● request 
#CassandraSummit 2014
JMX Beans 
org.apache.cassandra.metrics 
● db 
● internal 
● net 
● request 
#CassandraSummit 2014
JMX 
org.apache.cassandra.metrics :type= 
#CassandraSummit 2014 
● Cache 
● Client 
● ClientRequest 
● ClientRequestMetrics 
● ColumnFamily 
● CommitLog 
● Compaction 
● DroppedMessage 
● FileCache 
● Keyspace 
● Storage 
● ThreadPools
JMX 
org.apache.cassandra.metrics 
type=*, scope=*, name=*, 
type=ThreadPools, path=*, scope=*, name=*, 
type=ColumnFamily, keyspace=*, scope=*, name=*, 
type=Keyspace, keyspace=*, name=*, 
#CassandraSummit 2014
Metrics 
● Toolkit called metrics for metrics 
o By Coda Hale @ Yammer 
● Easy to use 
● Easy to read (if you know java) 
● Popular 
#CassandraSummit 2014
Types of Metrics 
#CassandraSummit 2014 
● Gauge 
o instantaneous value 
● Counter 
o number that can be incremented & decremented 
● Meter 
o rate of events over time (1/5/15 min moving avg) 
● Histogram 
o representation of statistical distribution 
 50, 75, 95, 98, 99, 99.9 percentile 
 average, median, min, max, standard deviation 
● Timer 
o rate of events (meter) 
o histogram of duration
JMX 
#CassandraSummit 2014 
75th percentile is 683 MICROSECONDS 
(75% took 683us or less) 
One minute rate is 13,915 calls per SECOND
JMX 
● Overwhelming at first 
● Hard to tell what they mean without the source 
● Moves around a lot 
● Fortunately there is nodetool 
#CassandraSummit 2014
Nodetool 
● JMX command line wrapper 
● Many options 
● Operations and diagnostic procedures 
● For reactive analysis 
o ad hoc, spot checks 
#CassandraSummit 2014
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Staged Event Driven Architecture 
● Decomposes complex event system 
● Set of stages (thread pools) 
● Queue between each 
● Shares a lot of pros cons as SOA 
#CassandraSummit 2014
Staged Event Driven Architecture 
#CassandraSummit 2014 
ReadStage 
Threads 
x32 
Client Request 
RequestResponse 
Threads 
ReadRepairStage 
Threads 
Messaging 
Service 
Node 2 
Node 1 Node 1 
Node 1 
= Task
Staged Event Driven Architecture 
● Possible to overrun the processing capabilities of a 
stage that is not in the requests feedback loop (i.e. 
ReadRepairStage) 
#CassandraSummit 2014
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
#CassandraSummit 2014 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 0 
COUNTER_MUTATION 0 
#CassandraSummit 2014 
RequestResponse 
Threads
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
Pool Name Active Pending Completed Blocked All time blocked 
ReadStage 0 0 113702 0 0 
RequestResponseStage 0 0 0 0 0 
MutationStage 0 0 164503 0 0 
... 
InternalResponseStage 0 0 0 0 0 
HintedHandoff 0 0 0 0 0 
Message type Dropped 
RANGE_SLICE 0 
READ_REPAIR 0 
... 
REQUEST_RESPONSE 1 
COUNTER_MUTATION 0 
#CassandraSummit 2014 
RequestResponse 
Threads
Nodetool tpstats 
nodetool tpstats 
org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= 
{ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} 
#CassandraSummit 2014 
More at: 
http://www.evidencebasedit.com/guide-to-cassandra-thread-pools
Nodetool cfhistograms 
nodetool cfhistograms {keyspace} {table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
SSTables per Read 
1 sstables: 98554 
2 sstables: 4534 
Write Latency (microseconds) 
No Data 
Read Latency (microseconds) 
10 us: 2 
12 us: 17 
14 us: 96 
17 us: 208 
20 us: 677 
24 us: 3081 
29 us: 4552 
35 us: 3559
Read Write Path mile high overview 
Memtable SSTable 
#CassandraSummit 2014 
Writes Reads
Read Write Path mile high overview 
Memtable SSTable 
#CassandraSummit 2014 
Writes Reads
Read Write Path mile high overview 
Memtable SSTable 
#CassandraSummit 2014 
Writes Reads
Read Write Path mile high overview 
Memtable SSTable 
#CassandraSummit 2014 
Writes Reads
Read Write Path mile high overview 
Memtable SSTable 
#CassandraSummit 2014 
Writes Reads
Nodetool cfhistograms 
nodetool cfhistograms {keyspace} {table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
SSTables per Read 
1 sstables: 98554 
2 sstables: 4534 
Write Latency (microseconds) 
No Data 
Read Latency (microseconds) 
10 us: 2 
12 us: 17 
14 us: 96 
17 us: 208 
20 us: 677 
24 us: 3081 
29 us: 4552 
35 us: 3559
Nodetool cfhistograms 1.1 
nodetool cfhistograms {keyspace} {table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
Offset SSTables Write Latency Read Latency Row Size Column Count 
1 3579 0 0 0 0 
2 0 0 0 0 0 
. . . 
35 0 0 0 0 0 
42 0 0 27 0 0 
50 0 0 187 0 0 
60 0 10 460 0 0 
72 0 200 689 0 0 
86 0 663 552 0 0 
103 0 796 367 0 0 
124 0 297 736 0 0 
149 0 265 243 0 0 
179 0 460 263 0 0 
. . . 
25109160 0 0 0 0 0 
#CassandraSummit 2014
Nodetool cfhistograms 
#CassandraSummit 2014 
https://gist.github.com/clohfink/6068003
Nodetool cfhistograms 2.1 
nodetool cfhistograms {keyspace} {table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
Keyspace/Table histograms 
Percentile SSTables Write Latency Read Latency Partition Size Cell Count 
(micros) (micros) (bytes) 
50% 1.00 10.00 524.00 310 5 
75% 1.00 11.75 888.00 310 5 
95% 1.00 15.00 4843.75 310 5 
98% 1.00 17.00 9658.90 310 5 
99% 1.00 19.00 12306.47 310 5 
Min 0.00 0.00 68.00 30 0 
Max 2.00 219386.00 45383.00 310 5 
#CassandraSummit 2014
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
SSTables in each level: [14/4, 1, 0, …, 0] 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool cfstats 
nodetool cfstats {-i} {keyspace}.{table} 
org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} 
#CassandraSummit 2014 
Keyspace: Keyspace1 
Read Count: 11207 
Read Latency: 0.047931114482020164 ms. 
Write Count: 17598 
Write Latency: 0.053502954881236506 ms. 
Pending Tasks: 0 
Table: Standard1 
SSTable count: 3 
Space used (live), bytes: 9088955 
Space used (total), bytes: 9088955 
Space used by snapshots (total), bytes: 0 
SSTable Compression Ratio: 0.3672150946 
Memtable cell count: 0 
Memtable data size, bytes: 0 
Memtable switch count: 3 
Local read count: 11207 
Local read latency: 0.048 ms 
Local write count: 17598 
Local write latency: 0.054 ms 
Pending tasks: 0 
Bloom filter false positives: 0 
Bloom filter false ratio: 0.00000 
Bloom filter space used, bytes: 11688 
Compacted partition minimum bytes: 1110 
Compacted partition maximum bytes: 126934 
Compacted partition mean bytes: 2730 
Average live cells per slice: 0.0 
Average tombstones per slice: 0.0
Nodetool proxyhistograms 
nodetool proxyhistograms 
org.apache.cassandra.metrics:type=ClientRequest,scope={Read|Write|RangeSlice},name=Latency 
#CassandraSummit 2014 
$ nodetool proxyhistograms 
proxy histograms 
Read Latency (microseconds) 
61214 us: 1 
Write Latency (microseconds) 
103 us: 22 
124 us: 142 
149 us: 297 
179 us: 1190 
215 us: 1823 
258 us: 2091 
...
Nodetool 
#CassandraSummit 2014 
Much more!! 
http://www.datastax.com/documentation/cassa 
ndra/2.0/cassandra/tools/toolsNodetool_r.html
Reporting Interface 
#CassandraSummit 2014 
Default Addons Community 
JMX Ganglia Cassandra StatsD NewRelic Splunk 
Console Graphite Cloudwatch Kafka Riemann TempDB 
Csv Munin Riak InfluxDB Sematext 
Slf4j MongoDB OpenTSDB Librato … MORE
Reporting Interface 
● Configurable with yaml 
o console, csv, ganglia, graphite, riemann 
● Create reporter with premain agent 
o compiling new jar with manifest 
o add to classpath 
o add javaagent in cassandra-env.sh 
#CassandraSummit 2014
Garbage Collection 
● Death, Taxes, and a stop the world GC 
● Common issue to all JVM based applications 
#CassandraSummit 2014
Garbage Collection 
Enable gc logging 
● Virtually no overhead 
● Can be very helpful in diagnosing 
performance issues 
#CassandraSummit 2014
Garbage Collection 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails" 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps" 
JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC" 
JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution" 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime" 
JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure" 
JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1" 
JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log" 
JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log" 
JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation" 
JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10" 
JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M" 
#CassandraSummit 2014
Garbage Collection 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails" 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps" 
JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC" 
JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution" 
JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime" 
JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure" 
JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1" 
JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log" 
JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log" 
JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation" 
JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10" 
JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M" 
#CassandraSummit 2014
Garbage Collection 
Could be its own talk 
Honorable mentions: 
● https://github.com/chewiebug/GCViewer 
● http://jworks.idv.tw/GcWeb/ 
● Python, R, Octave 
#CassandraSummit 2014
Logging 
/var/log/cassandra/system.log 
o provides a rolling log 
o log4j 
/var/log/cassandra/output.log 
o captured standard error and standard out 
o truncated on restart 
#CassandraSummit 2014 
System Logs 
o syslog, dmesg, etc
OS Metrics 
#CassandraSummit 2014 
Shout-out: 
http://www.brendangregg.com/linuxperf.html
JVM 
#CassandraSummit 2014 
● Heap 
o GC logs 
o JMX 
● Threads 
o jvmtop 
o Jstack (+htop) 
o kill -3 
o JMX
And Everything 
#CassandraSummit 2014
Questions 
? 
#CassandraSummit 2014

Weitere ähnliche Inhalte

Was ist angesagt?

Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...
Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...
Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...DataStax
 
Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra Day Atlanta 2016  - Monitoring CassandraCassandra Day Atlanta 2016  - Monitoring Cassandra
Cassandra Day Atlanta 2016 - Monitoring Cassandraaaronmorton
 
Software Development with Apache Cassandra
Software Development with Apache CassandraSoftware Development with Apache Cassandra
Software Development with Apache Cassandrazznate
 
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...DataStax
 
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...DataStax
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentationEdward Capriolo
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...DataStax
 
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...DataStax
 
Cassandra summit 2013 how not to use cassandra
Cassandra summit 2013  how not to use cassandraCassandra summit 2013  how not to use cassandra
Cassandra summit 2013 how not to use cassandraAxel Liljencrantz
 
Live traffic capture and replay in cassandra 4.0
Live traffic capture and replay in cassandra 4.0Live traffic capture and replay in cassandra 4.0
Live traffic capture and replay in cassandra 4.0Vinay Kumar Chella
 
Webinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraWebinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraDataStax
 
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...DataStax
 
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...Alexey Kharlamov
 
Real-Time Analytics with Kafka, Cassandra and Storm
Real-Time Analytics with Kafka, Cassandra and StormReal-Time Analytics with Kafka, Cassandra and Storm
Real-Time Analytics with Kafka, Cassandra and StormJohn Georgiadis
 
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr
 
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...DataStax
 
Large volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive PlatformLarge volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive PlatformMartin Zapletal
 
Micro-batching: High-performance writes
Micro-batching: High-performance writesMicro-batching: High-performance writes
Micro-batching: High-performance writesInstaclustr
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...DataStax Academy
 

Was ist angesagt? (20)

Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...
Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...
Micro-batching: High-performance Writes (Adam Zegelin, Instaclustr) | Cassand...
 
Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra Day Atlanta 2016  - Monitoring CassandraCassandra Day Atlanta 2016  - Monitoring Cassandra
Cassandra Day Atlanta 2016 - Monitoring Cassandra
 
Software Development with Apache Cassandra
Software Development with Apache CassandraSoftware Development with Apache Cassandra
Software Development with Apache Cassandra
 
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...
Terror & Hysteria: Cost Effective Scaling of Time Series Data with Cassandra ...
 
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...
Building a Multi-Region Cluster at Target (Aaron Ploetz, Target) | Cassandra ...
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentation
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
 
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...
Maintaining Consistency Across Data Centers (Randy Fradin, BlackRock) | Cassa...
 
Cassandra summit 2013 how not to use cassandra
Cassandra summit 2013  how not to use cassandraCassandra summit 2013  how not to use cassandra
Cassandra summit 2013 how not to use cassandra
 
Live traffic capture and replay in cassandra 4.0
Live traffic capture and replay in cassandra 4.0Live traffic capture and replay in cassandra 4.0
Live traffic capture and replay in cassandra 4.0
 
Webinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraWebinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache Cassandra
 
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
 
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...
Building large-scale analytics platform with Storm, Kafka and Cassandra - NYC...
 
Advanced Operations
Advanced OperationsAdvanced Operations
Advanced Operations
 
Real-Time Analytics with Kafka, Cassandra and Storm
Real-Time Analytics with Kafka, Cassandra and StormReal-Time Analytics with Kafka, Cassandra and Storm
Real-Time Analytics with Kafka, Cassandra and Storm
 
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
Instaclustr Webinar 50,000 Transactions Per Second with Apache Spark on Apach...
 
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...
Apache Cassandra Multi-Datacenter Essentials (Julien Anguenot, iLand Internet...
 
Large volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive PlatformLarge volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive Platform
 
Micro-batching: High-performance writes
Micro-batching: High-performance writesMicro-batching: High-performance writes
Micro-batching: High-performance writes
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 

Andere mochten auch

Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Cyrille Le Clerc
 
Developing a Real-time Engine with Akka, Cassandra, and Spray
Developing a Real-time Engine with Akka, Cassandra, and SprayDeveloping a Real-time Engine with Akka, Cassandra, and Spray
Developing a Real-time Engine with Akka, Cassandra, and SprayJacob Park
 
Cassandra Troubleshooting 3.0
Cassandra Troubleshooting 3.0Cassandra Troubleshooting 3.0
Cassandra Troubleshooting 3.0J.B. Langston
 
Jmxtrans presentation
Jmxtrans presentationJmxtrans presentation
Jmxtrans presentationJon Stevens
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsBrendan Gregg
 
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).DataStax Academy
 
Cassandra in Operation
Cassandra in OperationCassandra in Operation
Cassandra in Operationniallmilton
 
Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)Chris Lohfink
 
Performance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterPerformance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterScyllaDB
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXzznate
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverDataStax Academy
 
Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)J.B. Langston
 
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...DataStax
 
Scaling DataStax in Docker
Scaling DataStax in DockerScaling DataStax in Docker
Scaling DataStax in DockerDataStax
 
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...DataStax
 
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...DataStax
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...DataStax
 
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016DataStax
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and dockerBen Bromhead
 

Andere mochten auch (20)

Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
 
Developing a Real-time Engine with Akka, Cassandra, and Spray
Developing a Real-time Engine with Akka, Cassandra, and SprayDeveloping a Real-time Engine with Akka, Cassandra, and Spray
Developing a Real-time Engine with Akka, Cassandra, and Spray
 
Cassandra Troubleshooting 3.0
Cassandra Troubleshooting 3.0Cassandra Troubleshooting 3.0
Cassandra Troubleshooting 3.0
 
Jmxtrans presentation
Jmxtrans presentationJmxtrans presentation
Jmxtrans presentation
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).
The Last Pickle: Hardening Apache Cassandra for Compliance (or Paranoia).
 
Cassandra in Operation
Cassandra in OperationCassandra in Operation
Cassandra in Operation
 
Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)
 
Bucket List Item #1246
Bucket List Item #1246Bucket List Item #1246
Bucket List Item #1246
 
Performance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterPerformance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla Cluster
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMX
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python Driver
 
Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)
 
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...
Don’t Get Caught in a PCI Pickle: Meet Compliance and Protect Payment Card Da...
 
Scaling DataStax in Docker
Scaling DataStax in DockerScaling DataStax in Docker
Scaling DataStax in Docker
 
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) |...
 
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
 
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and docker
 

Ähnlich wie Cassandra Metrics

Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...DataStax
 
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)Apache Apex
 
Taskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerTaskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerRaghavendra Prabhu
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesRaghavendra Prabhu
 
Speed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudSpeed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudRevolution Analytics
 
Cassandra at Pollfish
Cassandra at PollfishCassandra at Pollfish
Cassandra at PollfishPollfish
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisationgrooverdan
 
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTARaghavendra Prabhu
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...DataStax
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextPrateek Maheshwari
 
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesOrchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesRaghavendra Prabhu
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1Ruslan Meshenberg
 
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...DataStax Academy
 
SnappyData overview NikeTechTalk 11/19/15
SnappyData overview NikeTechTalk 11/19/15SnappyData overview NikeTechTalk 11/19/15
SnappyData overview NikeTechTalk 11/19/15SnappyData
 
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...Amazon Web Services
 
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scalaAutomate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scalaChetan Khatri
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightScyllaDB
 
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern AutomationIncrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern AutomationSean Chittenden
 

Ähnlich wie Cassandra Metrics (20)

Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
 
Taskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerTaskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task Manager
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
 
Speed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudSpeed up R with parallel programming in the Cloud
Speed up R with parallel programming in the Cloud
 
Cassandra at Pollfish
Cassandra at PollfishCassandra at Pollfish
Cassandra at Pollfish
 
Cassandra at Pollfish
Cassandra at PollfishCassandra at Pollfish
Cassandra at Pollfish
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisation
 
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesOrchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1
 
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...
ProtectWise Revolutionizes Enterprise Network Security in the Cloud with Data...
 
SnappyData overview NikeTechTalk 11/19/15
SnappyData overview NikeTechTalk 11/19/15SnappyData overview NikeTechTalk 11/19/15
SnappyData overview NikeTechTalk 11/19/15
 
Nike tech talk.2
Nike tech talk.2Nike tech talk.2
Nike tech talk.2
 
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
 
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scalaAutomate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
 
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern AutomationIncrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern Automation
 

Kürzlich hochgeladen

Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Cassandra Metrics

  • 1. Monitor Everything By: Chris Lohfink Cassandra Summit 2014
  • 2. About Me ● Sr. Engineer at Pythian o Lead of Cassandra Practice ● Remote in Minnesota ● DataStax MVP for Cassandra ‘14 ● Interests o Java, Clojure, Python dev o Data science o Hobbyist electronics #CassandraSummit 2014
  • 3. About Pythian Pythian is a global data outsourcing and consulting company that specializes in optimizing and managing mission-critical data systems. Pythian blends the world’s leading data experts with advanced, secure service delivery processes to create the industry’s best standard of care for its clients. Since its inception, Pythian has managed some of the world’s largest, most business-critical data infrastructures. #CassandraSummit 2014 10,000 Pythian currently manages more than 10,000 systems. 350 Pythian currently employs more than 350 people in 25 countries worldwide. 1997 Pythian was founded in 1997
  • 4. About Cassandra ● No Single Point of Failure ● Fault Tolerant ● Awesome properties for an operations team who does not want to get up at 3am #CassandraSummit 2014
  • 5. About Cassandra ● Nothing should be set up and forgotten about ● Easy to do with Cassandra though o Fault tolerance on properly configured setup handles single node being down or having temp performance issues o No back pressure on writes until there is a lot of #CassandraSummit 2014 trouble
  • 6. Utilize the fault tolerance buffer ● Need to observe and react to current issues ● Predict future issues ● Divide this into two approaches #CassandraSummit 2014 o Proactive o Reactive
  • 7. Proactive ● Daily & Weekly checkups to prevent, and predict problems o Capacity o Performance bottlenecks o Data Modeling issues #CassandraSummit 2014
  • 8. Reactive ● Something about best laid plans… o Hardware failures o Bugs o Malicious or Non-Malicious users ● Alarms, Pager Duty #CassandraSummit 2014
  • 9. Common element #CassandraSummit 2014 ● Data is needed o form alerts o find anomalies o trending o debugging
  • 10. Metrics ● Window to the application o Bridge the gap - Coda Hale #CassandraSummit 2014
  • 11. Gathering Metrics SOURCES Cassandra Environment OpsCenter Logs JMX CPU, Disk, Network Nodetool JVM, GC #CassandraSummit 2014
  • 12. Metrics but of course… Without context, the data is just pretty graphs
  • 13. JMX ● Java Management Extensions ● Complex… very engineered ● Resources represented as objects with attributes and operations ● Used for monitoring or as input #CassandraSummit 2014
  • 14. JMX ● The annoying gateway to metrics ○ Poor tooling - requires java ○ Slow, Memory Leaks ○ Historically and currently frustrating for ops (pre 2.0.8) Cassandra Init connection to port 7199 Reply with hostname:port for 1024-65535 #CassandraSummit 2014 RMI connection Client (You) Gets new hostname:port, drops old connection and attempts to connect 7199 7199 Connected!
  • 15. JMX #CassandraSummit 2014 ● Visual o jconsole o visualvm ● Command line o jmxterm o jmxsh ● MX4J ● Jolokia
  • 20. JMX Domains org.apache.cassandra. ● db ● internal ● net ● request #CassandraSummit 2014
  • 21. JMX Beans org.apache.cassandra.metrics ● db ● internal ● net ● request #CassandraSummit 2014
  • 22. JMX org.apache.cassandra.metrics :type= #CassandraSummit 2014 ● Cache ● Client ● ClientRequest ● ClientRequestMetrics ● ColumnFamily ● CommitLog ● Compaction ● DroppedMessage ● FileCache ● Keyspace ● Storage ● ThreadPools
  • 23. JMX org.apache.cassandra.metrics type=*, scope=*, name=*, type=ThreadPools, path=*, scope=*, name=*, type=ColumnFamily, keyspace=*, scope=*, name=*, type=Keyspace, keyspace=*, name=*, #CassandraSummit 2014
  • 24. Metrics ● Toolkit called metrics for metrics o By Coda Hale @ Yammer ● Easy to use ● Easy to read (if you know java) ● Popular #CassandraSummit 2014
  • 25. Types of Metrics #CassandraSummit 2014 ● Gauge o instantaneous value ● Counter o number that can be incremented & decremented ● Meter o rate of events over time (1/5/15 min moving avg) ● Histogram o representation of statistical distribution  50, 75, 95, 98, 99, 99.9 percentile  average, median, min, max, standard deviation ● Timer o rate of events (meter) o histogram of duration
  • 26. JMX #CassandraSummit 2014 75th percentile is 683 MICROSECONDS (75% took 683us or less) One minute rate is 13,915 calls per SECOND
  • 27. JMX ● Overwhelming at first ● Hard to tell what they mean without the source ● Moves around a lot ● Fortunately there is nodetool #CassandraSummit 2014
  • 28. Nodetool ● JMX command line wrapper ● Many options ● Operations and diagnostic procedures ● For reactive analysis o ad hoc, spot checks #CassandraSummit 2014
  • 29. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 30. Staged Event Driven Architecture ● Decomposes complex event system ● Set of stages (thread pools) ● Queue between each ● Shares a lot of pros cons as SOA #CassandraSummit 2014
  • 31. Staged Event Driven Architecture #CassandraSummit 2014 ReadStage Threads x32 Client Request RequestResponse Threads ReadRepairStage Threads Messaging Service Node 2 Node 1 Node 1 Node 1 = Task
  • 32. Staged Event Driven Architecture ● Possible to overrun the processing capabilities of a stage that is not in the requests feedback loop (i.e. ReadRepairStage) #CassandraSummit 2014
  • 33. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 34. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 35. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 36. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 37. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 38. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 #CassandraSummit 2014 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0
  • 39. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 0 COUNTER_MUTATION 0 #CassandraSummit 2014 RequestResponse Threads
  • 40. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} Pool Name Active Pending Completed Blocked All time blocked ReadStage 0 0 113702 0 0 RequestResponseStage 0 0 0 0 0 MutationStage 0 0 164503 0 0 ... InternalResponseStage 0 0 0 0 0 HintedHandoff 0 0 0 0 0 Message type Dropped RANGE_SLICE 0 READ_REPAIR 0 ... REQUEST_RESPONSE 1 COUNTER_MUTATION 0 #CassandraSummit 2014 RequestResponse Threads
  • 41. Nodetool tpstats nodetool tpstats org.apache.cassandra.metrics:type=ThreadPools,path={internal|request|transport},scope={*},name= {ActiveTasks|PendingTasks|CompletedTasks|CurrentlyBlockedTasks|TotalBlockedTasks} #CassandraSummit 2014 More at: http://www.evidencebasedit.com/guide-to-cassandra-thread-pools
  • 42. Nodetool cfhistograms nodetool cfhistograms {keyspace} {table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 SSTables per Read 1 sstables: 98554 2 sstables: 4534 Write Latency (microseconds) No Data Read Latency (microseconds) 10 us: 2 12 us: 17 14 us: 96 17 us: 208 20 us: 677 24 us: 3081 29 us: 4552 35 us: 3559
  • 43. Read Write Path mile high overview Memtable SSTable #CassandraSummit 2014 Writes Reads
  • 44. Read Write Path mile high overview Memtable SSTable #CassandraSummit 2014 Writes Reads
  • 45. Read Write Path mile high overview Memtable SSTable #CassandraSummit 2014 Writes Reads
  • 46. Read Write Path mile high overview Memtable SSTable #CassandraSummit 2014 Writes Reads
  • 47. Read Write Path mile high overview Memtable SSTable #CassandraSummit 2014 Writes Reads
  • 48. Nodetool cfhistograms nodetool cfhistograms {keyspace} {table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 SSTables per Read 1 sstables: 98554 2 sstables: 4534 Write Latency (microseconds) No Data Read Latency (microseconds) 10 us: 2 12 us: 17 14 us: 96 17 us: 208 20 us: 677 24 us: 3081 29 us: 4552 35 us: 3559
  • 49. Nodetool cfhistograms 1.1 nodetool cfhistograms {keyspace} {table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} Offset SSTables Write Latency Read Latency Row Size Column Count 1 3579 0 0 0 0 2 0 0 0 0 0 . . . 35 0 0 0 0 0 42 0 0 27 0 0 50 0 0 187 0 0 60 0 10 460 0 0 72 0 200 689 0 0 86 0 663 552 0 0 103 0 796 367 0 0 124 0 297 736 0 0 149 0 265 243 0 0 179 0 460 263 0 0 . . . 25109160 0 0 0 0 0 #CassandraSummit 2014
  • 50. Nodetool cfhistograms #CassandraSummit 2014 https://gist.github.com/clohfink/6068003
  • 51. Nodetool cfhistograms 2.1 nodetool cfhistograms {keyspace} {table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} Keyspace/Table histograms Percentile SSTables Write Latency Read Latency Partition Size Cell Count (micros) (micros) (bytes) 50% 1.00 10.00 524.00 310 5 75% 1.00 11.75 888.00 310 5 95% 1.00 15.00 4843.75 310 5 98% 1.00 17.00 9658.90 310 5 99% 1.00 19.00 12306.47 310 5 Min 0.00 0.00 68.00 30 0 Max 2.00 219386.00 45383.00 310 5 #CassandraSummit 2014
  • 52. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 53. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 54. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 55. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 56. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 SSTables in each level: [14/4, 1, 0, …, 0] Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 57. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 58. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 59. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 60. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 61. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 62. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 63. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 64. Nodetool cfstats nodetool cfstats {-i} {keyspace}.{table} org.apache.cassandra.metrics:type=ColumnFamily,keyspace={keyspace},scope={table} #CassandraSummit 2014 Keyspace: Keyspace1 Read Count: 11207 Read Latency: 0.047931114482020164 ms. Write Count: 17598 Write Latency: 0.053502954881236506 ms. Pending Tasks: 0 Table: Standard1 SSTable count: 3 Space used (live), bytes: 9088955 Space used (total), bytes: 9088955 Space used by snapshots (total), bytes: 0 SSTable Compression Ratio: 0.3672150946 Memtable cell count: 0 Memtable data size, bytes: 0 Memtable switch count: 3 Local read count: 11207 Local read latency: 0.048 ms Local write count: 17598 Local write latency: 0.054 ms Pending tasks: 0 Bloom filter false positives: 0 Bloom filter false ratio: 0.00000 Bloom filter space used, bytes: 11688 Compacted partition minimum bytes: 1110 Compacted partition maximum bytes: 126934 Compacted partition mean bytes: 2730 Average live cells per slice: 0.0 Average tombstones per slice: 0.0
  • 65. Nodetool proxyhistograms nodetool proxyhistograms org.apache.cassandra.metrics:type=ClientRequest,scope={Read|Write|RangeSlice},name=Latency #CassandraSummit 2014 $ nodetool proxyhistograms proxy histograms Read Latency (microseconds) 61214 us: 1 Write Latency (microseconds) 103 us: 22 124 us: 142 149 us: 297 179 us: 1190 215 us: 1823 258 us: 2091 ...
  • 66. Nodetool #CassandraSummit 2014 Much more!! http://www.datastax.com/documentation/cassa ndra/2.0/cassandra/tools/toolsNodetool_r.html
  • 67. Reporting Interface #CassandraSummit 2014 Default Addons Community JMX Ganglia Cassandra StatsD NewRelic Splunk Console Graphite Cloudwatch Kafka Riemann TempDB Csv Munin Riak InfluxDB Sematext Slf4j MongoDB OpenTSDB Librato … MORE
  • 68. Reporting Interface ● Configurable with yaml o console, csv, ganglia, graphite, riemann ● Create reporter with premain agent o compiling new jar with manifest o add to classpath o add javaagent in cassandra-env.sh #CassandraSummit 2014
  • 69. Garbage Collection ● Death, Taxes, and a stop the world GC ● Common issue to all JVM based applications #CassandraSummit 2014
  • 70. Garbage Collection Enable gc logging ● Virtually no overhead ● Can be very helpful in diagnosing performance issues #CassandraSummit 2014
  • 71. Garbage Collection JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails" JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps" JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC" JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution" JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime" JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure" JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1" JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log" JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log" JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation" JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10" JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M" #CassandraSummit 2014
  • 72. Garbage Collection JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails" JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps" JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC" JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution" JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime" JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure" JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1" JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log" JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log" JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation" JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10" JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M" #CassandraSummit 2014
  • 73. Garbage Collection Could be its own talk Honorable mentions: ● https://github.com/chewiebug/GCViewer ● http://jworks.idv.tw/GcWeb/ ● Python, R, Octave #CassandraSummit 2014
  • 74. Logging /var/log/cassandra/system.log o provides a rolling log o log4j /var/log/cassandra/output.log o captured standard error and standard out o truncated on restart #CassandraSummit 2014 System Logs o syslog, dmesg, etc
  • 75. OS Metrics #CassandraSummit 2014 Shout-out: http://www.brendangregg.com/linuxperf.html
  • 76. JVM #CassandraSummit 2014 ● Heap o GC logs o JMX ● Threads o jvmtop o Jstack (+htop) o kill -3 o JMX