Skip to content

AxonOps — AI-Native Control Plane for Open Source Data Platforms

nodetool tablestats

Displays detailed statistics for tables including read/write latencies, SSTable counts, partition sizes, and space usage.


Terminal window
nodetool [connection_options] tablestats [options] [--] [keyspace[.table] ...]

See connection options for connection options.

nodetool tablestats provides comprehensive metrics for tables including:

  • Read and write operation counts and latencies
  • SSTable counts and sizes
  • Partition statistics (count, size)
  • Bloom filter and compression metrics
  • Memtable information
  • Percent repaired (for incremental repair)

This is one of the most important commands for capacity planning and performance analysis.


ArgumentDescription
keyspaceDisplay stats for all tables in keyspace
keyspace.tableDisplay stats for specific table

OptionDescription
-H, --human-readableDisplay sizes in human-readable format
-F, --formatOutput format (json, yaml)
-s, --sortSort by column (read, write, space, etc.)
-t, --topShow only top N tables
-i, --ignoreIgnore specific keyspaces/tables
-l, --sstable-location-checkVerify SSTable locations match expected data directories

Keyspace : my_keyspace
Read Count: 12345678
Read Latency: 0.234 ms
Write Count: 9876543
Write Latency: 0.123 ms
Pending Flushes: 0
Table: users
SSTable count: 12
Old SSTable count: 0
Max SSTable size: 128 MB
Space used (live): 1.5 GB
Space used (total): 1.8 GB
Space used by snapshots (total): 256 MB
Memtable cell count: 12345
Memtable data size: 64 MB
Memtable switch count: 234
Speculative retries: 0
Local read count: 5678901
Local read latency: 0.456 ms
Local write count: 3456789
Local write latency: 0.123 ms
Pending flushes: 0
Percent repaired: 98.5
Bloom filter false positives: 123
Bloom filter false ratio: 0.00001
Bloom filter space used: 24 MB
Compression ratio: 0.35
Compacted partition minimum bytes: 64
Compacted partition maximum bytes: 65536
Compacted partition mean bytes: 1024
Average live cells per slice (last five minutes): 12.5
Maximum live cells per slice (last five minutes): 150
Average tombstones per slice (last five minutes): 0.5
Maximum tombstones per slice (last five minutes): 10
Dropped mutations: 0
Droppable tombstone ratio: 0.05

MetricDescriptionHealthy Range
Local read latencyAverage read time< 5ms (SSD), < 20ms (HDD)
Local write latencyAverage write time< 1ms

High Read Latency

Read latency > 10ms consistently may indicate:

  • Large partitions
  • Too many SSTables
  • Bloom filter issues
  • Disk I/O problems
MetricDescriptionAction Threshold
SSTable countNumber of SSTables> 20-30 warrants investigation
Max SSTable sizeLargest SSTableVaries by compaction strategy
Space used (live)Data excluding tombstonesCapacity planning
Space used (total)All data including tombstonesDisk usage

SSTable Count

High SSTable counts increase read latency and memory usage:

  • STCS: May have many SSTables naturally
  • LCS: Should be mostly in L1+
  • TWCS: One per time window
MetricDescriptionWarning Signs
Compacted partition mean bytesAverage partition size> 100MB is large
Compacted partition maximum bytesLargest partition> 100MB needs attention
Live cells per sliceCells read per query> 10000 may be problematic

Large Partitions

Large partitions cause:

  • Heap pressure
  • GC issues
  • Uneven load distribution
  • Repair/compaction problems
MetricDescription
Tombstones per sliceTombstones scanned per read
Droppable tombstone ratioRatio of tombstones eligible for GC

Tombstone Warnings

High tombstones per slice indicates:

  • Delete-heavy workload
  • Queries scanning past deletes
  • Potential for tombstone warnings in logs
MetricDescription
Bloom filter false positivesIncorrect positive matches
Bloom filter false ratioFalse positive rate
Bloom filter space usedMemory for bloom filters

Target false ratio: < 0.01 (1%)

MetricDescription
Compression ratioCompressed size / uncompressed size
  • 0.3-0.5 is typical for most data
  • < 0.2 indicates highly compressible data
  • 0.8 may indicate compression isn't helping


Terminal window
nodetool tablestats my_keyspace
Terminal window
nodetool tablestats my_keyspace.users
Terminal window
nodetool tablestats -H my_keyspace
Terminal window
nodetool tablestats -s reads -t 10
Terminal window
nodetool tablestats -F json my_keyspace.users
Terminal window
# SSTable counts for all tables
nodetool tablestats | grep -E "Table:|SSTable count"
# Read latencies
nodetool tablestats | grep -E "Table:|Local read latency"
# Space usage
nodetool tablestats | grep -E "Table:|Space used"
Terminal window
for node in node1 node2 node3; do
echo "=== $node ==="
ssh "$node" "nodetool tablestats my_keyspace.users | grep -E "SSTable|Space|latency""
done

Terminal window
nodetool tablestats | grep -A2 "Table:" | grep -E "Table:|maximum bytes"

Tables with max partition > 100MB need data model review.

Terminal window
nodetool tablestats | grep -A5 "Table:" | grep -E "Table:|SSTable count"

High SSTable counts may indicate compaction falling behind.

Terminal window
nodetool tablestats | grep -E "Table:|tombstones per slice|Droppable"

High tombstones per slice correlates with read latency issues.

Terminal window
nodetool tablestats | grep -E "Table:|Percent repaired"

Track incremental repair progress.


MetricTarget
Local read latency< 5ms
Local write latency< 1ms
SSTable count< 20-30
Bloom filter false ratio< 0.01
Tombstones per slice< 100
Partition mean bytes< 10MB
MetricWarning Level
Local read latency> 20ms
SSTable count> 50
Bloom filter false ratio> 0.1
Tombstones per slice> 1000
Partition maximum bytes> 100MB

Check these metrics:

  1. SSTable count - too many?
  2. Partition size - too large?
  3. Tombstones per slice - too many?
  4. Bloom filter false ratio - ineffective?

Check:

  1. Space used by snapshots - orphaned snapshots?
  2. Droppable tombstone ratio - need compaction?
  3. Compression ratio - compression working?

Check:

  1. Bloom filter space - large tables consume heap
  2. Memtable size - appropriate for workload?
  3. Partition sizes - large partitions stress heap

CommandRelationship
tpstatsThread pool statistics
proxyhistogramsCoordinator-level latencies
compactionstatsActive compaction information
infoNode-level overview