画像スケーリング
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
GitLabには、サイトのレンダリングパフォーマンスを向上させるための組み込み画像スケーラーが搭載されています。デフォルトで有効になっています。
スケーラーを設定する
私たちは、常に大多数のGitLabのデプロイで機能する適切なデフォルトを設定するよう努めています。ただし、ご希望のパフォーマンスプロファイルに最適になるように画像のスケーリングを微調整することができるいくつかの設定も提供しています。
画像スケーラーの最大数
画像の再スケーリングは、Workhorseが稼働している同じノードで実行される追加の一時的なプロセスをもたらします。デフォルトでは、これらのプロセスが同時に実行できる数を、そのマシンまたは仮想マシンのCPUコア数の半分(ただし2つ以上)に制限しています。
代わりに固定値を設定することもできます:
/etc/gitlab/gitlab.rbを編集し、以下を追加します:gitlab_workhorse['image_scaler_max_procs'] = 10変更を適用するために再設定します:
sudo gitlab-ctl reconfigure
これは、すでに10個の画像が処理されている場合、11番目のリクエストは再スケーリングされず、代わりに元のサイズで提供されることを意味します。これに上限を設けることは、高負荷時でもシステムが利用可能であることを保証するために重要です。
画像の最大ファイルサイズ
デフォルトでは、GitLabは最大250 KBの画像を再スケーリングするのみです。これは、Workhorseノードでの過剰なメモリ消費を防ぎ、レイテンシーを妥当な範囲に保つためです。あるファイルサイズを超えると、実際には元の画像を配信する方が全体的に高速です。
許可されるファイルサイズの最大値を引き下げまたは引き上げたい場合:
/etc/gitlab/gitlab.rbを編集し、以下を追加します:gitlab_workhorse['image_scaler_max_filesize'] = 1024 * 1024変更を適用するために再設定します:
sudo gitlab-ctl reconfigure
これにより、最大1 MBの画像を再スケーリングできるようになります(単位はバイトです)。
画像スケーラーの無効化
画像スケーリングを完全にオフにすることもできます。これは、それぞれの機能フラグをオフにすることで実現できます:
Feature.disable(:dynamic_image_resizing)機能フラグを操作する方法については、機能フラグドキュメントを参照してください。