이미지 스케일링

Tier: Free, Premium, Ultimate Offering: Self-Managed

GitLab은 내장 이미지 스케일러를 실행하여 사이트 렌더링 성능을 향상시킵니다. 이 기능은 기본적으로 활성화되어 있습니다.

스케일러 구성

우리는 항상 대부분의 GitLab 배포와 함께 작동하는 합리적인 기본 설정을 적용하려고 노력합니다. 그러나 이미지 스케일링을 조정하는 여러 설정을 제공하여 원하는 성능 프로필에 가장 적합하게 조정할 수 있도록 합니다.

최대 이미지 스케일러 수

이미지 크기 조정은 Workhorse가 실행되는 동일한 노드에서 실행되는 추가적이고 일시적인 프로세스를 생성합니다. 기본적으로 해당 머신 또는 가상 머신의 CPU 코어 수의 절반으로 동시에 실행되는 이러한 프로세스의 수를 제한하지만, 최소한 2개는 실행될 수 있도록 설정됩니다.

대신 고정된 값으로 설정할 수 있습니다:

  1. /etc/gitlab/gitlab.rb를 편집하고 다음을 추가합니다:

    gitlab_workhorse['image_scaler_max_procs'] = 10
    
  2. 변경 사항이 적용되려면 다시 구성하십시오:

    sudo gitlab-ctl reconfigure
    

이는 이미지 10개가 이미 처리 중인 경우 11번째 요청은 크기를 조정하지 않고 원본 크기로 제공됩니다. 이를 상한선으로 두는 것은 시스템이 고부하 상태에서도 사용 가능하도록 하는 데 중요합니다.

최대 이미지 파일 크기

기본적으로 GitLab은 크기가 최대 250kB인 이미지만 크기를 조정합니다. 이는 Workhorse 노드에서 과도한 메모리 사용을 방지하고 합리적인 범위 내에서 대기 시간을 유지하기 위한 것입니다. 일정 파일 크기 이상으로 가면 실제로 원본 이미지를 제공하는 것이 전반적으로 더 빠를 수 있습니다.

최대 허용 파일 크기를 낮추거나 높이고 싶다면:

  1. /etc/gitlab/gitlab.rb를 편집하고 다음을 추가합니다:

    gitlab_workhorse['image_scaler_max_filesize'] = 1024 * 1024
    
  2. 변경 사항이 적용되려면 다시 구성하십시오:

    sudo gitlab-ctl reconfigure
    

이렇게 하면 1MB까지 이미지의 크기를 조정할 수 있습니다(Byte로 단위가 제공됩니다).

이미지 스케일러 비활성화

이미지 스케일링을 완전히 끄기로 결정할 수 있습니다. 해당 기능 토글을 끄는 것으로 이를 달성할 수 있습니다:

Feature.disable(:dynamic_image_resizing)

피처 플래그(Feature Flags) 문서를 참조하여 피처 플래그를 사용하는 방법에 대해 알아보세요 Feature Flags documentation.