Estou usando o Postgresql-11, com um HDD tradicional como dispositivo de armazenamento físico.
Preciso otimizar o desempenho para escrever.
Eu mudei wal_buffers
de -1 para 512 MB, isso significa que wal_buffers
não uso mais arquivos shared_buffers
. Estou certo?
Eu quero saber se pode ou não melhorar o desempenho da escrita para ampliar shared_buffers
. Na minha opinião, é usado apenas para consultar?
O valor atual shared_buffers
é de 2 GB, minha RAM é de 8 GB. Eu quero mudar para 4GB. obrigado!
Não é uma estratégia muito viável em geral, mas pode funcionar em alguns casos específicos, como se o tamanho total das páginas de índice que precisam ser mantidas durante a inserção em massa for >2 GB, mas <4 GB.
Como o PostgreSQL não usa IO direto, mas lê páginas por meio de chamadas normais do kernel, isso significa que as páginas são lidas primeiro no cache do sistema de arquivos antes de serem lidas em shared_buffers. Portanto, em geral, com 4 GB de 8 GB, os dois caches terão "buffer duplo", reduzindo sua eficácia. Se eu quisesse seguir a rota de high-shared_buffers, definiria de 6 a 7 GB (ou 7,5, mas não com wal_buffers configurados tão alto - sobre o qual também tenho dúvidas), não 4 GB.