-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Summary
In ./data/conf/mysql/my.cnf there are some tweaks impacting performance. Esp. innodb_buffer_pool_size = 24M seems to be very low. Commenting it out reduces read IO drastically in my setup.
Motivation
I'm running a small mailcow instance in a VM with Proxmox - 60G of data, 5 users. Starting with March 2025, I observed an increase in read IO. See the attached graph from my Proxmox Hypervisor.
What I see is Read IO of average 5MB/s over the time. Since I'm running on HDDs, not SSDs, the mailcow VM is the "noisy neighbor" in my setup.
Investigating with iotop and atop showed that mariadb did frequently read bursts of dozens to hundreds of MB/s. Then I did some research on the net and learned, that read IO can be influenced by the size of innodb_buffer_pool_size.
Mariadb's default for innodb_buffer_pool_size is 128M, however mailcow lowers this buffer size to 24M. Once I commented that line out in data/conf/mysql/my.cnf and restarted the stack, Read IOs dropped massively, as seen in both atop and Proxmox ( in the graph below, the change happened right before 2026-02-18 07:30:00):
Probably there is more potential for optimizations, so if you like me to investigate further, I'd be happy to hear.
Additional context
No response