0%

Book Description

In this lesson, we look at how to tune Cassandra to improve performance. There are a variety of settings in the configuration file and on individual tables. Although the default settings are appropriate for many use cases, there might be circumstances in which you need to change them. We’ll look at how and why to make these changes.

We also see how to use the cassandra-stress test tool that ships with Cassandra to generate load against Cassandra and quickly see how it behaves under stress test circumstances. We can then tune Cassandra appropriately and feel confident that we’re ready to deploy to a production environment.

What you’ll learn—and how you can apply it

You’ll learn how to monitor and analyze Cassandra performance. You’ll learn about Cassandra features such as caching, memtables, commit logs, SStables, hinted handoff, compaction, and threading to improve responsiveness, consistency, and speed and reduce data loss. We’ll also look at timeout properties and JVM settings.

This lesson is for you because…

You are a developer, database administrator, or architect who wants to learn how to tune Cassandra.

Prerequisites

  • Understanding of Cassandra architecture and data model.
  • If you want to run cassandra-stress Cassandra installed with a running Cassandra cluster.

Materials or downloads needed

  • A Cassandra cluster if you want to run cassandra-stress

Table of Contents

  1. Performance Tuning
    1. Managing Performance
      1. Setting Performance Goals
      2. Monitoring Performance
      3. Analyzing Performance Issues
      4. Tracing
      5. Tuning Methodology
    2. Caching
      1. Key Cache
      2. Row Cache
      3. Counter Cache
      4. Saved Cache Settings
    3. Memtables
    4. Commit Logs
    5. SSTables
    6. Hinted Handoff
    7. Compaction
    8. Concurrency and Threading
    9. Networking and Timeouts
    10. JVM Settings
      1. Memory
      2. Garbage Collection
    11. Using cassandra-stress
    12. Summary
3.133.160.156