이미지 스케일링

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

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

스케일러 구성

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

이미지 스케일러 최대 개수

이미지 다시 크기 조정은 동일한 노드에서 실행되는 추가적이고 짧은 수명의 프로세스를 생성합니다. 기본적으로 해당 머신 또는 가상 머신의 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까지의 이미지를 다시 크기를 조정할 수 있습니다(단위: 바이트).

이미지 스케일러 비활성화

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

Feature.disable(:dynamic_image_resizing)

특성 플래그를 다루는 방법은 특성 플래그 문서를 참조하세요.