Configurei um banco de dados Postgres em um servidor com 2 núcleos de CPU, 4 GB de RAM e um volume SSD (além do RAID 10, é claro). Este é o nosso (mais ou menos) servidor de banco de dados de produção "carnudo" (posso facilmente adicionar mais RAM, etc. quando chegar a hora).
Agora é hora de configurar um servidor Postgres de backup (não usado para leituras ou qualquer outra coisa, apenas estritamente uma replicação/backup). Não quero desembolsar mais US$ 150/mês para a mesma configuração exata do meu servidor de backup e sei que muitos dos recursos do servidor usados para um banco de dados de produção têm a ver com consultas complicadas, verificações sequenciais etc. ., então pensei que poderia me safar com um servidor de 512 MB com cerca de 1/6 do desempenho de E/S e 1 núcleo de CPU.
Esse pensamento está correto ou um servidor Postgres de replicação/backup normalmente precisa quase das mesmas especificações de um servidor Postgres de produção?
Observação: estou usando o Postgres 9.2.4 com replicação de streaming (não síncrona) em um servidor Ubuntu 12.04.2.
Depende muito da sua carga de trabalho - os volumes de gravação e os padrões de gravação no mestre.
O modo de espera está essencialmente fazendo uma recuperação de falha contínua. Ele lê os logs write-ahead contendo as alterações feitas pelo mestre nas tabelas e as aplica às suas próprias tabelas. Ele faz isso usando um único trabalhador , portanto, não se beneficia significativamente da simultaneidade do subsistema de E/S.
A principal coisa que um servidor de réplica precisa é um bom desempenho de I/O aleatório. Ele não precisa de fsync() rápido tanto quanto o mestre, a menos que você planeje fazer failover para ele.
Eu começaria com uma máquina pequena, sabendo que é sempre fácil atualizar. Se você fizer isso, é vital que você monitore cuidadosamente a replicação para garantir que o modo de espera não esteja ficando muito para trás, ou certifique-se de ter o arquivamento WAL configurado com espaço abundante para permitir que o modo de espera lide se ficar muito para trás O mestre. Caso contrário, sua réplica ficará para trás o suficiente para que o mestre não tenha mais um registro de todas as alterações necessárias para ir de onde está o standby para o estado atual do master, e você terá que reinicializar o standby. Se você o estiver usando para backups, não deseja que isso aconteça.