Skip to content

Reduce Mariadb read IOย #7066

@abmaymic

Description

@abmaymic

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.

Image

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):

Image

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions