제가 직접 호스팅한 사이트가 다른 사이트들만큼 "빠르"지 않아요. 다른 사이트들은 거의 즉시 또는 매우 빠르게 응답하는 반면, 제 사이트는 로그인하지 않은 상태일 때 더 빠르다는 걸 알게 되었어요. 쓸 수 없을 정도로 느린 건 아니지만, 제 스펙을 고려하면 더 빠를 거라고 생각했어요.
12코어 CPU, 40GB RAM. 프라이버시 문제로 도메인은 공유할 수 없어요.
무엇을 확인해야 하거나 app.yml 파일을 어떻게 최적화할 수 있는지 팁을 주시면 감사하겠습니다.
주로 이미지/비디오가 많은데, 이게 문제일까요?
db_shared_buffers: "34096MB"
db_work_mem: "90MB" (uncommented)
UNICORN_WORKERS: 25
Cloudflare를 통해 프록시 설정 (DDoS 보호를 위해, 프로 플랜)
이미지와 영상이 너무 많아서 문제가 될 수 있습니다. 이 모든 것이 discourse 사이트에 직접 업로드된 것인가요, 아니면 다른 플랫폼에 영상이 있나요?
다른 플랫폼에 영상을 호스팅하고 discourse 사이트에 링크를 게시할 수 있다면 도움이 될 수 있습니다.
Discourse와 통합되는 지원 플랫폼은 Brightcove, YouTube, Vimeo 정도입니다:
Discourse does integrate with various video providers, notably: brightcove via this plugin and youtube and vimeo.
So if video is your Jazz we recommend you store them on one of those providers and use oneboxes.
참고로, 저는 다음 환경에서 거의 “순간적인” 페이지 전환을 경험하고 있습니다:
4GB, 3코어
유니콘 2개 (검토 결과 이 값을 더 올릴 수 있을 것 같습니다!)
db_shared_buffers: "256MB"
CDN 미사용
다만, 모든 비디오는 YouTube를 통해 제공합니다.
나머지 설정은 기본적으로 유지하고 있습니다.
pfaffman
(Jay Pfaffman)
5월 13, 2024, 9:15오전
6
공유 버퍼는 약 10GB 정도여야 합니다. 제가 틀린 건가요, 아니면 공유 버퍼가 34GB나 있나요?
제가 읽은 바로는 6개 유니콘으로 변경할 수 있다고 합니다. 코어가 3개이고, 코어당 2개의 균일한 프로세서가 있어서 6개네요 하지만 말씀하신 대로 이해합니다.
네 어떤 식으로든 속도가 빨라질 줄 알았거든요. 10GB로 변경해 볼 수도 있겠네요.
네, 해당 설정을 주석 처리하고 다시 빌드했어요
작은 VPS를 사용하던 시절에 남은 설정이었네요.
pfaffman
(Jay Pfaffman)
5월 13, 2024, 1:47오후
10
권장값은 RAM의 25%입니다. PostgreSQL에 RAM의 거의 전부를 할당하면 웹 서버에 사용할 RAM이 남지 않습니다. 이것이 아마도 문제의 원인이었을 것입니다.
알겠습니다. 최적화 방법 등에 대한 문서가 더 있었으면 좋겠네요. 부트스트랩 방식이 항상 효율적인 것은 아니니까요. 새 서버에 설정을 마치고, 당신이 제안하신 대로 변경했습니다. 또한 Cloudflare 터널도 설정했는데, 장기적으로 좋은 아이디어일까요? 지금은 모든 것이 빠르게 로드됩니다! 정말 기뻐요.
pfaffman
(Jay Pfaffman)
5월 14, 2024, 8:59오전
12
app.yml 파일에는 주석이 포함되어 있습니다. discourse-setup은 적절한 기본값을 생성합니다. 이러한 기본값은 월 수백만 페이지뷰에서도 정상적으로 작동할 가능성이 높습니다.