Uma regressão foi identificada no kernel Linux 7.0, que reduz pela metade o desempenho do PostgreSQL

Um engenheiro da Amazon identificou uma regressão específica para o kernel Linux 7.0, cuja liberação está prevista para 13 de abril. A alteração nas configurações do escalonador de tarefas resultou em uma diminuição significativa da capacidade e da responsividade ao operar o SGBD PostgreSQL em sistemas com arquitetura ARM64. Ao utilizar o kernel 7.0, os indicadores de desempenho durante o teste pgbench 'simple-update' caíram quase pela metade — de 98565 para 50751.

A desaceleração foi causada por uma mudança no modo de preempção no escalonador padrão de PREEMPT_NONE para PREEMPT_LAZY em arquiteturas que suportam esse modo, resultando em que o espaço do usuário PostgreSQL gastou 55% do tempo da CPU chamando s_lock(). Para resolver o problema, foi sugerido retornar o modo PREEMPT_NONE como padrão e remover sua vinculação à configuração ARCH_NO_PREEMPT.

Peter Zijlstra, o autor das alterações que causaram a regressão e mantenedor do escalonador de tarefas e dos subsistemas de bloqueio do kernel, afirmou que a correção deve ser implementada no código do PostgreSQL. Para mitigar a queda de desempenho, ele recomendou ativar no PostgreSQL a extensão 'rseq slice' (Sequences Reiniciáveis) recentemente adicionada ao kernel, para limitar a probabilidade de preempção do mantenedor do bloqueio.

Ainda não está claro qual solução Linus Torvalds adotará, uma vez que ele segue a regra de que o kernel não deve degradar o desempenho e quebrar a compatibilidade com o espaço do usuário. Por um lado, o kernel 7.0 está na fase final de testes antes do lançamento e reverter as configurações do escalonador pode levar a outras regressões, mas, por outro lado, os usuários podem enfrentar uma queda de desempenho de duas vezes em um dos SGBDs mais populares.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster