서버 리스케일링 시 어떤 설정을 변경해야 하나요? - 유니콘 워커, 메모리 등

요약: 서버를 리스케일링할 때 고려해야 할 권장 구성에 대한 가이드나 목록이 있을까요?

서버에 Discourse를 처음 설치할 때 몇 가지 설정이 자동으로 설정됩니다. 클라우드의 편리한 점은 인스턴스 유형을 더 많거나 적은 CPU와 메모리를 가진 다른 유형으로 단순히 변경할 수 있다는 것입니다. 제 이해로는, 자동 설정은 새로운 서버에 맞게 자동으로 조정되지 않습니다(관리자 대시보드에서 Discourse 구성이 실행 중인 하드웨어와 일치하지 않는 것 같다는 알림을 제공하는 것이 좋을 것 같습니다).

예를 들어, app.yml 파일의 다음 설정을 고려했습니다:

## Set db_shared_buffers to a max of 25% of the total memory.
## will be set automatically by bootstrap based on detected RAM, or you can override
db_shared_buffers: "4096MB"

## can improve sorting performance, but adds memory usage per-connection
#db_work_mem: "40MB"

## How many concurrent web requests are supported? Depends on memory and CPU cores.
## will be set automatically by bootstrap based on detected CPUs, or you can override
UNICORN_WORKERS: 4

이는 Discourse가 서버에서 실행되는 유일한 서비스라고 가정하는 것이며, 항상 그런 것은 아닙니다.

보통 코어당 unicorn_workers를 2개, 시스템 메모리의 25%를 db_shared_buffers로 지정합니다.

discourse-setup을 실행하면 제안된 크기로 변경됩니다. 하지만 이미 제안 사항을 보고 계시기 때문에, 직접 설정하시면 됩니다.

안녕하세요. 서버 기능을 확장할 때가 되었습니다. 서버의 프로세서와 RAM 사양을 변경하려면 서버를 종료해야 합니다. 서버 리사이징 전에 반드시 수행해야 할 중요한 작업이 있을까요? 복귀했을 때 모든 것이 제자리에 있고 정상적으로 작동하는 상태였으면 합니다.

되돌아오지 않을 것에 대비해 전체 백업과 app.yml 파일의 사본을 다운로드하겠습니다.

rebuild 없이 db_share_buffers를 변경할 수 있나요?

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