

Is it possible to have continuous availability in your data layer? It is critical to almost every organisation that their data is available and serves the needs of the business and customers at every moment of every day. The 9’s of Uptime Many people claim they have five 9’s of uptime and then a few…
Part 1 – Install MaxScale This multi-part series breaks down each section into easy logical steps. MaxScale MaxScale is a fantastic product produced by MariaDB, which has, over time, been developed into a must-have tool for anyone running MariaDB. It is unfair to think of it as ‘just’ a database proxy as it brings with…
MaxScale is a fantastic tool to bring high availability to your database layer, but, it is also important to make sure your MaxScale server is not a Single Point of Failure (spof). To protect against this, you can run two, or more MaxScale servers and configure your application to connect to them both without the need…
CPU pinning (also called CPU affinity) is the practice of binding MaxScale threads to specific CPU cores. By default, the operating system scheduler moves threads between cores to balance load. While this is generally efficient, in high-concurrency workloads, context switching and cache invalidation can reduce performance and increase latency. Why Use CPU Pinning How to…
Kester Riley walks through how to use Sysbench to load-test a MariaDB cluster through MaxScale. He explains how to prepare a test database, run OLTP workloads via MaxScale, and interpret the results — offering a practical, hands-on approach for benchmarking.
When evaluating database proxies for MariaDB, it’s critical to understand the nuanced differences between MaxScale and ProxySQL. While both solutions handle query routing and connection pooling, MaxScale offers a comprehensive, enterprise-grade feature set designed for high-availability, large-scale deployments. This section positions MaxScale as the clear choice for mission-critical workloads, backed by verifiable documentation and real-world…
Riley closes the series by summarizing the essential principles for building a high-concurrency MariaDB architecture with MaxScale. The author distills the practical lessons from all previous parts into clear, actionable guidance, covering thread tuning, backend sizing, multiplexing safety, caching strategy, and how to balance performance with correctness.
In one of the most important parts of the series, the author highlights situations where multiplexing or caching can produce incorrect results or degrade performance. Kester Riley outlines common session-dependent patterns, subtle edge cases, and operational risks that engineers must understand before enabling MaxScale’s most powerful features.
Riley examines MaxScale’s caching engine, explaining how SELECT queries can be served from memory instead of the database to reduce latency and offload workload. The author details TTL behavior, invalidation rules, thread-level vs global caching, and practical scenarios where caching provides significant gains.
In this in-depth exploration, Kester Riley illustrates how MaxScale’s multiplexing system allows many client sessions to share far fewer backend connections. The author breaks down when multiplexing excels, where it becomes fragile, and how to design workloads so that they benefit rather than break under connection sharing.
Here, Riley shifts from theory to practice with a detailed walkthrough of how to tune MaxScale for production. The author outlines key configuration parameters, how they interact under pressure, and how to balance multiplexing, pooling, and timeouts for maximum stability in diverse traffic patterns.
Kester Riley continues by breaking down how MaxScale manages backend connections and why understanding the relationship between threads, connection pools, and database capacity is essential. The author provides practical formulas and real-world sizing guidance to help ensure stable performance under demanding workloads.
In this part, the author dives into the internal threading model that powers MaxScale’s efficiency. Riley explains how worker threads execute client sessions, why thread count must align with underlying CPU cores, and how proper thread configuration can dramatically improve throughput and reduce contention in high-load environments.