이미지 스케일링

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

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

스케일러 구성

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

최대 이미지 스케일러 수

이미지 다시 크기 조정은 Workhorse가 실행되는 동일한 노드에서 실행되는 추가적인 단기 프로세스를 유발합니다. 기본적으로 해당 머신 또는 가상 머신의 CPU 코어 수의 절반 또는 최소 두 개까지 동시에 실행되는 이러한 프로세스의 수를 제한합니다.

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

  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)

기능 플래그 작업 방법을 알아보려면 기능 플래그 문서 를 참조하세요.