Skip to content

Another Boring Tech Blog

Menu
  • Start
  • About Me
Menu

Determining the Correct innodb_buffer_pool_chunk_size

Posted on February 28, 2026February 28, 2026 by Vinicius Grippa

A common source of instability in MySQL environments is the unexpected growth of memory usage at startup. You might set your innodb_buffer_pool_size to 16GB, only to find the process consuming 18GB or 20GB. This happens because MySQL enforces a strict geometric relationship between the total size, the number of instances, and the chunk size. If…

Read more

MySQL 8.4 Memory Limits: tmp_table_size vs. temptable_max_ram

Posted on November 20, 2025November 20, 2025 by Vinicius Grippa

I recently got into a bit of a debate about standardizing MySQL 8.4’s internal temporary table configuration. We wanted to cap memory usage efficiently, but relying on “rules of thumb” isn’t enough when production stability is at stake. The main confusion was about how per-query limits fight with global limits. So, rather than guessing, I…

Read more

Checking Your MySQL Server Before an Upgrade with MySQL Shell

Posted on November 2, 2025November 2, 2025 by Vinicius Grippa

Upgrading MySQL is often seen as straightforward — install the new binaries, restart, done. In reality, it’s more like upgrading a production jet engine mid-flight. Small changes in defaults, deprecated settings, or old privileges can lead to surprises you don’t want at 2:00 AM on maintenance night. Or even worse, see your performance deteriorating during…

Read more

My Impressions from Oracle AI World 2025 – MySQL, AI, and Its Open Source Future

Posted on October 17, 2025October 18, 2025 by Vinicius Grippa

Note: The opinions below represent my personal perspective only. They don’t include any confidential information or represent the views of Oracle or my current employer, Percona.   The question I brought home after this conference is: Was this an AI conference because everyone is already using AI, or because they want you to use AI?…

Read more

Benchmarking MySQL Server With mysqlslap: Estimating Capacity, Not Absolute Limits

Posted on April 25, 2025 by Vinicius Grippa

When I’m working with MySQL, I care not just about whether a single query is slow, but how much total load the server can handle before performance starts to drop. Tools like mysqlslap help by generating synthetic workloads to simulate multiple clients and measure the server’s Queries Per Second (QPS). In this post, I’ll walk through…

Read more

MySQL Brazil Meetup 2025 – Aniversário de 30 Anos!

Posted on April 14, 2025April 14, 2025 by Vinicius Grippa

Parece mentira, mas o MySQL está completando 30 anos em 2025. Três décadas de código aberto, performance, confiabilidade (sim, a gente sabe dos bugs também 😅) e uma comunidade incrível que cresce a cada ano. E, claro, isso merece ser comemorado! 📍 Onde e quando? Vamos nos reunir em São Paulo, no dia 4 de…

Read more

Black Friday or Dark Friday? Depends If MySQL Stands the Rush

Posted on November 26, 2024November 27, 2024 by Vinicius Grippa

Black Friday or Dark Friday? Tips to Ensure Your MySQL Instance Survives Black Friday is one of the most demanding days of the year for e-commerce and online services, and your database is at the heart of it all. A slow or offline MySQL instance can turn your Black Friday into a Dark Friday, costing…

Read more

How to Identify Processes Using Swap Memory on Linux

Posted on November 23, 2024November 25, 2024 by Vinicius Grippa

Identifying which processes have pages swapped out of memory when troubleshooting performance issues on a Linux system is often helpful. Swapping can impact system performance, so knowing which processes are affected is important in diagnosing and resolving these issues. Checking Swap Usage by Process Linux provides detailed process information in the /proc directory. By leveraging…

Read more

Testing Dolphie For the First Time: Features and Feedback

Posted on November 21, 2024 by Vinicius Grippa

In this blog post, I will test Dolphie, an open-source project by Charles Thompson. Dolphie is an open-source tool that provides real-time analytics for MySQL, MariaDB, and ProxySQL. As a first-time user, my goal is to go from zero to hero, exploring how easy it is to start using the tool while getting familiar with…

Read more

Understanding MySQL DDL Space Requirements

Posted on November 20, 2024November 20, 2024 by Vinicius Grippa

This blog post will explore MySQL’s file storage behavior during DDL operations, particularly with InnoDB tables. Using a practical example, we’ll discuss where and how MySQL stores data during different types of DDL operations. Setting the Stage: Table Structure Consider a table sbtest1 with 30 million rows, created as follows:

1
2
3
4
5
6
7
8
CREATE TABLE `sbtest1` (
  `id` int NOT NULL AUTO_INCREMENT,
  `k` int NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_1` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=30000001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

This table is actively used…

Read more
  • 1
  • 2
  • 3
  • 4
  • Next
© 2026 Another Boring Tech Blog | Powered by Minimalist Blog WordPress Theme