Redimensionando o servidor, quais configurações precisam ser alteradas? - unicorn workers, memória, etc

Resumo: Existe um guia ou uma lista de configurações recomendadas a serem consideradas ao redimensionar um servidor?

Ao instalar o Discourse pela primeira vez em um servidor, algumas configurações são definidas automaticamente.
Uma conveniência que a nuvem oferece é simplesmente alterar o tipo de instância para um diferente com mais/menos CPUs e memória.
Pelo que entendi, as configurações automáticas não se ajustam automaticamente ao novo servidor (seria bom ter um alerta no Painel de Administração de que a configuração do seu Discourse não parece corresponder ao hardware em que está sendo executado).

Por exemplo, considerei estas configurações do arquivo app.yml:

## Define db_shared_buffers para um máximo de 25% da memória total.
## será definido automaticamente pelo bootstrap com base na RAM detectada, ou você pode substituir
db_shared_buffers: "4096MB"

## pode melhorar o desempenho da classificação, mas adiciona uso de memória por conexão
#db_work_mem: "40MB"

## Quantas requisições web concorrentes são suportadas? Depende da memória e dos núcleos da CPU.
## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
UNICORN_WORKERS: 4

Isso pressuporia que o Discourse é a única coisa a ser executada no servidor, o que nem sempre é o caso.

Eu geralmente especifico dois unicorn_workers por núcleo e 25% da memória do sistema como db_shared_buffers.

3 curtidas

Se você executar discourse-setup, ele mudará para os tamanhos sugeridos. Mas você está olhando as sugestões, então pode fazer isso sozinho.

2 curtidas

Olá. É hora de aumentar os recursos do servidor. Para alterar as propriedades de processador e RAM do servidor, preciso desligá-lo. Há algo importante que devo fazer antes de redimensionar o servidor? Quero que tudo esteja no lugar e funcionando quando eu voltar.

Eu faria o download de um backup completo e uma cópia do arquivo app.yml caso ele não retorne.

2 curtidas

É possível alterar db_share_buffers sem reconstruir?

cd /var/discourse
./launcher destroy app
./launcher start app