Recentemente, tive uma falha no mariadb que deu início a um pesadelo. Quando restaurei dumps, às vezes o daemon travava durante inserções em massa. Isso aconteceu apenas nas poucas tabelas "grandes" do innodb (tenho muitos bancos de dados pequenos que realmente não contêm muitos dados e a maioria dos outros possui uma quantidade significativa apenas em algumas tabelas). O banco de dados geralmente se recuperava eventualmente (às vezes depois de horas), mas às vezes travava. Restaurei o banco de dados em uma máquina diferente sem problemas em questão de minutos e depois movi o diretório de dados na máquina de produção. A única diferença séria entre os dois é que a máquina de sucesso não é uma VM e sim um armazenamento SSD esportivo.
Desde então, os problemas descritos ainda acontecem, em momentos aleatórios, sempre ao acessar aquelas tabelas grandes. Geralmente terei várias consultas congeladas, mas apenas uma às vezes é suficiente para acionar o comportamento.
O que acho realmente difícil de acreditar é o fato de que o iotop relata um thread mariadb gravando gigabytes por segundo , de forma constante, durante todo o tempo em que a consulta trava. Isso é fisicamente impossível, já que o desempenho dos discos não chega nem perto desses números. Também vasculhei a internet para encontrar o que pude sobre como otimizar configurações que até alguns dias atrás pareciam perfeitamente adequadas para o meu ambiente, ajustei algumas variáveis, mas nada importante, também os padrões na máquina "importação bem-sucedida" não eram muito diferentes começar com.
O problema é semelhante a https://jira.mariadb.org/browse/MDEV-30884 , no entanto, isso foi supostamente corrigido porque estou usando o 10.6.14 (também testei o 10.6.15) no Gentoo.
Estou perplexo, o que poderia estar causando isso? O armazenamento mecânico do HDD pode de alguma forma justificar o que está acontecendo?
Parece que a configuração padrão do mariadb e o qemu não se dão bem em algumas circunstâncias, não está muito claro o que está acontecendo. Veja o agente convidado fs-freeze não funcionando em VM com Debian 11 + MariaDB 10.6 e 10.7
Eu tenho um sistema funcionando desde que configurei
innodb_flush_method=fsync
einnodb_use_native_aio=0
.