Chapter 13. Performance Tuning
In this chapter, you’ll learn how and why to tune Cassandra to improve performance, and a methodology for setting performance goals, monitoring your cluster’s performance, simulating stress loads, and troubleshooting performance goals. You’ll also learn about specific settings in Cassandra’s configuration files, and options on individual tables, and how they affect the performance and resource utilization of your cluster.
To be effective at achieving and maintaining a high level of performance in your cluster, it’s helpful to think of managing performance as a process that begins with the architecture of your application and continues through development and operations.
Setting Performance Goals
Before beginning any performance tuning effort, it is important to have clear goals in mind, whether you are just getting started on deploying an application, or maintaining an existing one.
When planning a cluster, it’s important to understand how the cluster will be used: the number of clients, intended usage patterns, expected peak periods, and so on. This is useful in planning the initial cluster capacity and for planning cluster growth, as discussed in Chapter 10.
An important part of this planning effort is to identify clear performance goals in terms of both throughput (the number of queries serviced per unit time) and latency (the time to complete a given query). Usually, you will be trying to increase throughput while reducing ...