로컬 SSD 성능 최적화


디스크 유형별 성능 차트는 로컬 SSD 파티션에서 얻을 수 있는 최대 성능을 보여줍니다. 이러한 속도를 얻기 위해 앱 및 VM 인스턴스를 최적화하려면 다음 권장사항을 따르세요.

로컬 SSD에서 게스트 환경 최적화 사용

기본적으로 대부분의 Compute Engine에서 제공되는 Linux 이미지는 최대 로컬 SSD 성능에 맞게 인스턴스를 구성하는 최적화 스크립트를 자동으로 실행합니다. 이 스크립트는 특정 sysfs 설정을 사용하여 머신의 전체 성능을 높이고 특정 가상 CPU(vCPU)에 대한 인터럽트 요청(IRQ)을 마스킹합니다. 이 스크립트는 Compute Engine 로컬 SSD 파티션의 성능만 최적화합니다.

Ubuntu, SLES 및 기타 이전 이미지는 이 성능 최적화를 포함하도록 구성할 수 없습니다. 이러한 이미지 또는 v20141218 이전의 이미지를 사용 중인 경우에는 게스트 환경을 설치하여 해당 최적화를 사용할 수 있습니다.

로컬 SSD를 연결할 인터페이스 선택

NVMe 인터페이스 또는 SCSI 인터페이스를 사용하여 로컬 SSD를 VM에 연결할 수 있습니다. 사용 중인 운영체제(OS)에 따라 가장 적합한 인터페이스를 선택할 수 있습니다. 로컬 SSD를 사용하는 대부분의 워크로드 구성의 경우 NVMe 인터페이스를 사용하면 성능이 향상됩니다.

  • 특정 OS를 사용해야 하는 경우 부팅 디스크 이미지에 가장 적합한 로컬 SSD 파티션의 인터페이스를 선택하세요.

  • SCSI 인터페이스를 사용해야 하는 기존 설정이 있는 경우 멀티 큐 SCSI를 지원하는 이미지를 사용하여 표준 SCSI 인터페이스보다 더 나은 성능을 발휘할 수 있습니다.

멀티 큐 SCSI 사용 설정

일부 공개 이미지는 멀티 큐 SCSI를 지원합니다. 프로젝트로 가져오는 커스텀 이미지에 멀티 큐 SCSI를 사용하려면 직접 사용 설정해야 합니다. 가져온 Linux 이미지는 커널 버전 3.19 이상을 포함하는 경우에만 멀티 큐 SCSI를 사용할 수 있습니다.

커스텀 이미지에서 멀티 큐 SCSI를 사용하도록 설정하려면 VIRTIO_SCSI_MULTIQUEUE 게스트 OS 기능이 설정된 상태로 이미지를 가져오고 GRUB 구성 파일에 항목을 추가합니다.

CentOS

CentOS7만 해당합니다.

  1. API를 사용하여 커스텀 이미지를 가져오고 type 값이 VIRTIO_SCSI_MULTIQUEUEguestOsFeatures 항목을 포함합니다.

  2. 커스텀 이미지를 사용해서 인스턴스를 만들고 하나 이상의 로컬 SSD를 연결합니다.

  3. SSH를 통해 인스턴스에 연결합니다.

  4. /sys/module/scsi_mod/parameters/use_blk_mq 파일의 값을 확인합니다.

    $ cat /sys/module/scsi_mod/parameters/use_blk_mq
    

    이 파일의 값이 Y면 가져온 이미지에 멀티 큐 SCSI가 이미 사용된 것입니다. 이 파일의 값이 N이면 GRUB 구성 파일의 GRUB_CMDLINE_LINUX 항목에 scsi_mod.use_blk_mq=Y를 포함하고 시스템을 다시 시작합니다.

    1. 텍스트 편집기에서 /etc/default/grub GRUB 구성 파일을 엽니다.

      $ sudo vi /etc/default/grub
      
    2. scsi_mod.use_blk_mq=YGRUB_CMDLINE_LINUX 항목에 추가합니다.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. 구성 파일을 저장합니다.

    4. grub2-mkconfig 명령어를 실행하여 GRUB 파일을 다시 생성하고 구성을 완료합니다.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. 인스턴스를 재부팅합니다.

      $ sudo reboot
      

Ubuntu

  1. Compute Engine API를 사용하여 커스텀 이미지를 가져오고 type 값이 VIRTIO_SCSI_MULTIQUEUEguestOsFeatures 항목을 포함합니다.

  2. 커스텀 이미지를 사용하여 인스턴스를 만들고 SCSI 인터페이스를 사용하여 하나 이상의 로컬 SSD를 연결합니다.

  3. SSH를 통해 인스턴스에 연결합니다.

  4. /sys/module/scsi_mod/parameters/use_blk_mq 파일의 값을 확인합니다.

    $ cat /sys/module/scsi_mod/parameters/use_blk_mq
    

    이 파일의 값이 Y면 가져온 이미지에 멀티 큐 SCSI가 이미 사용된 것입니다. 이 파일의 값이 N이면 GRUB 구성 파일의 GRUB_CMDLINE_LINUX 항목에 scsi_mod.use_blk_mq=Y를 포함하고 시스템을 다시 시작합니다.

    1. 텍스트 편집기에서 sudo nano /etc/default/grub GRUB 구성 파일을 엽니다.

      $ sudo nano /etc/default/grub
      
    2. scsi_mod.use_blk_mq=YGRUB_CMDLINE_LINUX 항목에 추가합니다.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. 구성 파일을 저장합니다.

    4. update-grub 명령어를 실행하여 GRUB 파일을 다시 생성하고 구성을 완료합니다.

      $ sudo update-grub
      
    5. 인스턴스를 재부팅합니다.

      $ sudo reboot
      

다음 단계