저희 포럼의 주제는 교육입니다.
많은 수의 독자(학생)들이 Onebox를 생성하고 있으며,
그 결과 서버 CPU가 과부하 상태에 있고, 웹사이트에서 502 Bad Gateway 및 504 Gateway Time-out 오류가 발생하여 웹사이트에 접근할 수 없는 상태입니다.
해결책을 찾고 있습니다: Discourse에서 Onebox 생성 빈도를 낮추는 것(속도를 줄이는 것)입니다. (Onebox는 여전히 생성되지만, 연속된 Onebox 생성 사이의 시간이 길어집니다.)
Onebox 생성 시간을 늘릴 수 있다면, 서버 CPU가 과부하되지 않을 것입니다.
감사합니다.
가장 쉬운 방법은 서버의 RAM 또는 CPU를 늘리는 것입니다. 서버 사양은 어떻게 되나요? 하루에 몇 개의 게시물이 생성되나요?
많은 학생들이 수많은 원박스(onebox)를 생성하고 있으며, 우리는 약 10,000명의 학생을 보유하고 있습니다.
저도 해결책을 몇 가지 생각해 보았습니다: CPU 증설, RAM 증설.
그러나 CPU를 테스트했을 때 성능은 평균 25~45% 사이를 오갔습니다. 특정 시간대에 Discourse가 CPU 과부하 상태에 빠져 웹사이트에 접근할 수 없게 되는 문제가 발생했습니다.
그래서 다른 해결책을 찾고 있었는데,
Jay Pfaffman님, 감사합니다!!!
메모리를 조정했나요? 데이터베이스가 병목 현상의 원인인 것 같습니다. 대형 서버 튜닝에 관한 여러 가지 주제가 있으니, 그곳을 참고해 보세요.
Sidekiq 큐를 살펴보고, 해당 작업이 우선순위가 낮은 큐에 있어야 하는지 확인해 볼 수 있지만, 데이터베이스 튜닝 쪽을 먼저 살펴보는 것이 좋다고 생각합니다.
저희도 동일한 문제를 겪고 있습니다. sidekiq(low)가 너무 빠르게 실행되어 Discourse가 웹사이트에 접근하지 못하고 있습니다.
sidekiq(low)의 실행 빈도를 조정할 수 있는 방법이 있을까요?
CPU와 RAM을 추가하거나, 사용자가 만들 수 있는 링크 수를 제한하는 두 가지 선택지가 있다고 생각합니다.
제 환경에서는 CPU나 RAM이 높지 않습니다.
사이드킥(Sidekiq)의 Low 큐가 너무 빠르게 처리되어 웹사이트가 멈추는 문제가 발생합니다.
제가 아는 한, sidekiq는 커스터마이징할 수 없습니다.
표시하신 수치들을 보면, 서버를 업그레이드하여 메모리와 프로세스를 더 늘리는 것을 제안합니다.
sidekiq 제품 레벨 기능 차트를 살펴보면 두 가지가 눈에 띕니다:
-
Discourse에 무료로 번들된 기본 OSS 티어에는 다음이 없습니다:
- 레이트 리미팅(이것이 바로 원하시는 기능인 것 같습니다?)
- 배치(지연 처리할 수 있는 작업의 경우, 사용자가 몰리는 시간대를 피해서 작업을 수행하는 데 사용할 수 있습니다)
따라서 하드웨어 측면을 살펴볼 필요가 있다고 생각합니다.
하지만 일부 사이트가 Pro로 업그레이드할 수 있는지, 그리고 그 과정에 얼마나 많은 작업이 필요한지(라이선스 키를 추가하는 것만으로 충분한가?)를 알아볼 가치가 있습니다. 이전에 이 시도를 해본 사람이 있을까요?
Pro 제품은 월 99달러로 저렴하지는 않습니다. 하드웨어에 더 많이 투자하는 것이 더 나을 수 있습니다. 월 50달러라도 상당한 하드웨어 업그레이드를 할 수 있을 텐데, 현재 얼마나 지출하고 계신가요?
Discourse에서 Pro 제품을 사용해보고 싶다면 Pavilion이 도움을 줄 수 있지만, 그 컨설팅도 비용이 듭니다.
항상 누군가 대신 호스팅을 해주고 모든 문제를 맡아주도록 하는 옵션도 있습니다.
원하는 방식으로 시스템을 운영하려면 예산을 상당히 늘려야 할 것 같습니다.
데이터를 좀 제공해 주시겠어요? 답변당 원박스(onebox)는 몇 개, 주제당 답변은 몇 개, 그리고 주제당 총 원박스는 몇 개인가요?
