CASSANDRA SUMMIT, YOUTUBE, AND A MAILING LIST
I am thrilled to share some significant updates and exciting plans with my readers and the Cassandra community. As we draw closer to the end of the year, I’m preparing for an important speaking engagement and mapping out a year ahead filled with engaging and informative activities. Cassandra Summit Presentation: Mastering Performance Tuning I am honored to announce that I will be speaking at the upcoming Cassandra Summit. My talk, titled “Cassandra Performance Tuning Like You’ve Been Doing It for Ten Years,” is scheduled for December 13th, from 4:10 pm to 4:40 pm.
PROFILING (ALMOST) EVERYTHING YOU CAN THINK OF WITH BPFTRACE
Welcome back to the month of profiling! The first two weeks we took a look at using the async-profiler to generate flame graphs and bcc-tools to understand your hardware. This week we’ll be focusing on eBPF, a rapidly evolving technology that lets you extract a ton of useful information out of the Linux Kernel even if a tool wasn’t built specifically for it. Think of it as a tool that lets you create small programs that run safely in the Linux Kernel with almost no overhead for the purpose of observability.
HARDWARE PROFILING WITH BCC-TOOLS
Welcome back to my series on performance profiling! In this second installment, we’re shifting our focus towards a hands-on exploration of our hardware using the power of bcc-tools. Building on the foundational knowledge from our first post about flame graphs, we are now ready to delve deeper into the intricacies of system performance. These tools are a great way of understanding if we’re seeing bottlenecks in our hardware. For a little background, bcc-tools is a collection of utilities that expose underlying kernel statistics through eBPF.
UNVEILING PERFORMANCE BOTTLENECKS WITH FLAMEGRAPHS USING ASYNC-PROFILER
Welcome to the first article of ‘The Month of Profiling,’ a series I will be presenting throughout November. We’ll explore a range of technologies that are crucial for identifying and resolving performance issues, as well as for fine-tuning your systems. The series will conclude with a detailed walkthrough on how to integrate these technologies for effective performance optimization. Introduction Optimizing the performance of a complex application like a database requires a deep understanding of multiple components; its resource utilization, the behavior of the JVM, and how nodes interact with each other.
UNCOVER CASSANDRA'S THROUGHPUT BOUNDARIES WITH THE NEW ADAPTIVE SCHEDULER IN TLP-STRESS
Introduction Apache Cassandra remains the preferred choice for organizations seeking a massively scalable NoSQL database. To guarantee predictable performance, Cassandra administrators and developers rely on benchmarking tools like tlp-stress, nosqlbench, and ndbench to help them discover their cluster’s limits. In this post, we will explore the latest advancements in tlp-stress, highlighting the introduction of the new Adaptive Scheduler. This brand-new feature allows users to more easily uncover the throughput boundaries of Cassandra clusters while remaining within specific read and write latency targets.
AXONOPS REVIEW - AN OPERATIONS PLATFORM FOR APACHE CASSANDRA
Note: Before we dive into this review of AxonOps and their offerings, it’s important to note that this blog post is part of a paid engagement in which I provided product feedback. AxonOps had no influence or say over the content of this post and did not have access to it prior to publishing. In the ever-evolving landscape of data management, companies are constantly seeking solutions that can simplify the complexities of database operations.
BENCHMARKING APACHE CASSANDRA WITH TLP-STRESS
This post will introduce you to tlp-stress, a tool for benchmarking Apache Cassandra. I started tlp-stress back when I was working at The Last Pickle. At the time, I was spending a lot of time helping teams identify the root cause of performance issues and needed a way of benchmarking. I found cassandra-stress to be difficult to use and configure, so I ended up writing my own tool that worked in a manner that I found to be more useful.
BACK TO CONSULTING!
Saying “it’s been a while since I wrote anything here” would be an understatement, but I’m back, with a lot to talk about in the upcoming months. First off - if you’re not aware, I continued writing, but on The Last Pickle blog. There’s quite a few posts there, here are the most interesting ones: 14 Things To Do When Setting Up a New Cassandra Cluster Apache Cassandra Performance Tuning - Compression with Mixed Workloads Garbage Collection Tuning for Apache Cassandra Analyzing Cassandra Performance with Flame Graphs Cassandra Time Series Data Modeling For Massive Scale Now the fun part - I’ve spent the last 3 years at Apple, then Netflix, neither of which gave me much time to continue my writing.
A SMALL UTILITY TO HELP WITH EXTRACTING CODE SNIPPETS
It’s been a while since I’ve written anything here. Part of the reason has been due to the writing I’ve done over on the blog at The Last Pickle. In the lsat few years, I’ve written about our tlp-stress tool, tips for new Cassandra clusters, and a variety of performance posts related to Compaction, Compression, and GC Tuning. The other reason is the eight blog posts I’ve got in the draft folder.
ENABLING KOTLIN 1.3'S SUPPORT FOR RETURNING RESULT IN STANDARD LIBRARY
Kotlin 1.3 was released recently. There’s a number of interesting changes. Coroutines have graduated from experimental, contracts, and inline classes have been useful in my own work so far. You can read about the changes on the Kotlin website There’s another feature I find very useful: the new Result type. I first used the Result Monad in Rust. I don’t write much Rust anymore, but I definitely appreciate the patterns that came from functional programming.