downey
(Michael Downey)
1
クラウドプロバイダーの標準システム監視ツールを使用すると、毎日ほぼ同じ時間にアラートが発信されます。これは、メモリ使用率が10分以上連続して80%を超えたことが原因です。この状態は、毎日ほぼ同じ時刻に始まり、30分から60分以上(日によって持続時間は異なります)続きます。
- このような事例をご存知の方はいらっしゃいますか?調査の着手点についてご教示いただけますでしょうか?
- あるいは、このパターンで実行されているアプリケーションスタック内のスケジュールジョブを確認し、原因を特定する簡単な方法はありますか?
pfaffman
(Jay Pfaffman)
2
バックアップは?特にアップロードが多い場合です。/sidekiq を確認できます。
downey
(Michael Downey)
3
いいえ、バックアップも私の最初のアイデアでした。バックアップ(Discourse とクラウドプロバイダーの両方)は週に一度しか実行されていません(これは多分変更すべきですが、この幽霊を特定するまで待ってからにします!):thinking:
それで、https://discourse.example.org/sidekiq/scheduler を見てみると、そこにあるすべてのジョブが一定の周期で回転しており、必ずしも特定の時刻に実行されているわけではないようです。これが正しいでしょうか?もしそうなら、その周期はアプリコンテナの起動時間を基準にしているのでしょうか?
おそらく大きなクエリ、あるいは複数の大きなクエリになるでしょう。思い浮かぶのは「ダッシュボードの再計算」と「Top の再計算」の 2 つの重い処理です。
ただし、80% という数値は決して悪くはありません。システムに過負荷をかけ(スワップ領域にアクセスする事態を避け)つつ、リソース利用効率は高く、仮想ハードウェアを適切に活用できていることを示しています。