Database Reference
In-Depth Information
Several key performance indicators (KPIs) will be discussed in this section, including:
CPU and memory consumption
Heavy read/write throughput and latency
Logical and physical reads
Inconsistent performance or performance degradation are main points where ap-
plications need performance tuning. This is where front-end applications and back-end
databases need to be tuned from a performance perspective.
To begin, let's take an initial look at several KPIs that inform how we'll configure
Cassandra to enhance performance.
CPU and Memory Utilization
CPU and memory utilization are very important from a performance perspective. There
are tools like JConsole, JProfile, and YourKit to monitor application's performance via
monitoring CPU and memory footprints. It's worth mentioning that many Cassandra
server processes take off-heap memory; hence, while tuning heap configuration for ap-
plications running locally on the same box, we need to make sure that memory short-
age or leakage does not occur and bring instability to the application. A low heap size
configuration would trigger frequent garbage collection activities. Avoiding the
garbage collection cycle is definitely not possible but we can tune it for better response
time. For example, keeping the younger generation big would accommodate more live
objects and would lead to long GC (garbage collection) cycles. In general garbage
activity over younger generation objects will be fast and overhead on response time
would be almost negligible. But Full GC is sort of a “stop the world” event and can af-
fect an application's performance badly. We need to make sure to allocate proper
memory to Eden Spaces and later temporary and permanent spaces in the memory
pool. It is recommended to keep smaller permanent generation space.
Heavy Read/Write Throughput and Latency
Discussion of big data processing is all about “walking the talk.” Application must be
enabled to perform faster ingestion and reads irrespective of data volume. Read/write
latency is another important aspect of performance monitoring and tuning. Modern ap-
plications demand real-time or near real-time data processing with minimal latency.
Search WWH ::




Custom Search