¿Qué configuraciones necesitan cambiarse al escalar el servidor? - trabajadores de unicorn, memoria, etc.

Resumen: ¿Existe una guía o una lista de configuraciones recomendadas a tener en cuenta al cambiar el tamaño de un servidor?

Al instalar Discourse por primera vez en un servidor, hay algunas configuraciones que se establecen automáticamente.
Una comodidad que ofrece la nube es simplemente cambiar el tipo de instancia a una diferente con más/menos CPU y memoria.
Hasta donde entiendo, las configuraciones automáticas no se ajustan automáticamente al nuevo servidor (sería bueno tener una alerta en el Panel de Administración de que la configuración de Discourse no parece coincidir con el hardware en el que se está ejecutando).

Por ejemplo, consideré estas configuraciones del archivo app.yml:

## Establecer db_shared_buffers a un máximo del 25% de la memoria total.
## se establecerá automáticamente mediante bootstrap según la RAM detectada, o puede anularla
db_shared_buffers: "4096MB"

## puede mejorar el rendimiento de la clasificación, pero agrega uso de memoria por conexión
#db_work_mem: "40MB"

## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
## se establecerá automáticamente mediante bootstrap según las CPU detectadas, o puede anularla
UNICORN_WORKERS: 4

Eso supondría que Discourse es lo único que se ejecuta en el servidor, lo cual no siempre es el caso.

Normalmente especifico dos unicorn_workers por núcleo y el 25% de la memoria del sistema como db_shared_buffers

3 Me gusta

Si ejecutas discourse-setup, cambiará a los tamaños sugeridos. Pero estás mirando las sugerencias, así que puedes hacerlo tú mismo.

2 Me gusta

Hola. Es hora de aumentar las características del servidor. Para cambiar las propiedades del procesador y la RAM del servidor, necesito apagarlo. ¿Hay algo importante que deba hacer antes de redimensionar el servidor? Quiero que todo esté en su lugar y funcionando cuando regrese.

Descargaría una copia de seguridad completa y una copia del archivo app.yml en caso de que no regrese.

2 Me gusta

¿Es posible cambiar db_share_buffers sin reconstruir?

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