GitLabパフォーマンスモニタリング
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
GitLabパフォーマンスモニタリングを使用して、パフォーマンスのボトルネックがユーザーに影響を与える前に検出します。レスポンス時間の遅延やメモリの問題が発生した場合、SQLクエリ、Ruby処理、およびシステムリソースに関する詳細なメトリクスを通じて、その正確な原因を特定できます。
パフォーマンスモニタリングを実装する管理者は、インスタンス全体の問題に発展する前に、潜在的な問題に対する即時アラートを受け取ることができます。トランザクション時間、クエリ実行パフォーマンス、およびメモリ使用量を追跡することで、組織にとって最適なGitLabパフォーマンスを維持できます。
GitLabパフォーマンスモニタリングの設定方法の詳細については、以下を参照してください:
2種類のメトリクスが収集されます:
- トランザクション固有のメトリクス。
- サンプリングされたメトリクス。
トランザクションメトリクス
トランザクションメトリクスは、単一のトランザクションに関連付けることができるメトリクスです。これには、トランザクション期間、実行されたSQLクエリのタイミング、HAMLビューのレンダリングに費やされた時間などの統計が含まれます。これらのメトリクスは、処理されたすべてのRackリクエストとSidekiqジョブに対して収集されます。
サンプリングされたメトリクス
サンプリングされたメトリクスは、単一のトランザクションに関連付けることができないメトリクスです。例としては、ガベージコレクションの統計情報や、保持されているRubyオブジェクトが挙げられます。これらのメトリクスは、定期的な間隔で収集されます。この間隔は2つの部分で構成されています:
- ユーザー定義の間隔。
- 間隔にランダムに生成されたオフセットが追加され、同じオフセットは連続して2回使用できません。
実際の間隔は、定義された間隔の半分から間隔の半分を超えるまでのどこかにすることができます。たとえば、ユーザー定義の間隔が15秒の場合、実際の間隔は7.5から22.5の間のどこかになります。この間隔は、一度生成されてプロセスのライフタイム全体で再利用されるのではなく、サンプリング実行ごとに再生成されます。
ユーザー定義の間隔は、環境変数によって指定できます。以下の環境変数が認識されます:
RUBY_SAMPLER_INTERVAL_SECONDSDATABASE_SAMPLER_INTERVAL_SECONDSACTION_CABLE_SAMPLER_INTERVAL_SECONDSPUMA_SAMPLER_INTERVAL_SECONDSTHREADS_SAMPLER_INTERVAL_SECONDSGLOBAL_SEARCH_SAMPLER_INTERVAL_SECONDS