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