정기적으로 발생하는 높은 메모리 사용량 진단

클라우드 제공자의 표준 시스템 모니터링 도구를 사용하고 있는데, 대부분의 날에 비슷한 시간에 메모리 사용량이 10분 이상 연속으로 80%를 초과했다는 경보를 받고 있습니다. 이 상태는 대략 30분에서 60분 이상 지속되며(지속 시간은 날마다 달라지는 것 같습니다), 항상 비슷한 시간대에 시작됩니다.

  • 이런 현상을 경험해 보셨거나, 어디서부터 살펴봐야 할지 아이디어가 있는 분이 계신가요? 아니면, 혹은 …
  • 이러한 패턴으로 실행될 수 있는 애플리케이션 스택 내의 예약된 작업(스케줄드 잡)을 확인하는 간단한 방법이 있을까요? 문제의 원인을 파악하기 위해요.

백업? 특히 업로드가 많은 경우라면 /sidekiq를 확인해 보세요.

아니요, 백업도 제 첫 번째 생각이었습니다. 백업(Discourse와 클라우드 제공자 모두)은 주 1회만 수행되고 있습니다. (이건 아마도 변경해야겠지만, 이 유령을 잡기 전까지는 안 될 것 같습니다!):thinking:

그래서 https://discourse.example.org/sidekiq/scheduler를 살펴봤는데, 거기 있는 모든 작업이 특정 시각이 아니라 주기적으로 실행되는 것 같습니다. 이게 맞는지 아는 분 계신가요? 맞다면, 그 주기는 앱 컨테이너의 시작 시간을 기준으로 하는 건가요?

대형 쿼리 하나 또는 여러 개가 실행될 가능성이 매우 높습니다. 대시보드 재계산과 Top 재계산이 두 가지 주요 원인으로 떠오릅니다.

80%는 전적으로 나쁜 신호는 아닙니다. 이는 시스템에 과도한 부하가 걸리지 않고(스왑으로 넘어가지 않고) 활용률이 효율적이며, (가상) 하드웨어를 잘 활용하고 있다는 의미일 수 있습니다.