Guia prático · PostgreSQL
Tuning de PostgreSQL 16 em VPS SSD NVMe: shared_buffers, work_mem e IOPS
Como calcular e aplicar shared_buffers, effective_cache_size e random_page_cost=1.1 no PostgreSQL em VPS NVMe.
Neste guia passo a passo
1. Arquitetura e pré-requisitos no ambiente
2. Passo a passo de implementação e validação
3. Boas práticas de produção, segurança e escala
1. Arquitetura e pré-requisitos no ambiente
A configuração padrão do PostgreSQL vem dimensionada para máquinas antigas com 512 MB de RAM e discos rígidos mecânicos. Em uma VPS NVMe Gen4, ajustar 5 parâmetros multiplica a velocidade de consultas e escritas.
- Identifique quanta RAM da VPS será dedicada ao PostgreSQL (ex: 4 GB em uma VPS Performance de 12 GB).
2. Passo a passo de implementação e validação
- Ajuste
shared_bufferspara cerca de 25% da RAM alocada ao banco (ex:1GB) eeffective_cache_sizepara 75% (ex:3GB). - Defina
random_page_cost = 1.1eeffective_io_concurrency = 200para informar ao planejador de queries do Postgres que o armazenamento é SSD NVMe. - Configure
work_mem = 16MBemaintenance_work_mem = 256MBpara acelerar ordenações e criação de índices. - Aplique as configurações no
postgresql.conf(ou via parâmetros-cno Docker Compose) e reinicie o serviço.
3. Boas práticas de produção, segurança e escala
Com random_page_cost = 1.1, o PostgreSQL passa a priorizar buscas por índice (Index Scan) em vez de varrer tabelas inteiras (Seq Scan).
- Nunca eleve
max_connectionsacima de 200 sem usar um pooler como PgBouncer.
Quer colocar PostgreSQL em produção hoje com 30% OFF no plano anual?
Suba sua VPS NVMe em São Paulo (6,6ms) com instalador em 1 clique, SSL automático e suporte humano no WhatsApp. Equivale a R$ 69,30/mês no plano anual com o cupom BLACK30 (ou R$ 99/mês no mensal).
Mais tutoriais sobre Bancos de Dados, Redis & Storage S3
You Secure