Como otimizar o desempenho da SSD local


O gráfico de desempenho por tipo de disco descreve o desempenho máximo possível para partições SSD locais. Para otimizar os apps e as instâncias de VM visando atingir essas velocidades, use as seguintes práticas recomendadas:

Como usar otimizações do ambiente de convidado para SSDs locais

Por padrão, a maioria das imagens Linux fornecidas pelo Compute Engine executa automaticamente um script de otimização que configura a instância para garantir o desempenho máximo de SSD local. O script também ativa determinadas configurações de filas sysfs (link em inglês) que melhoram o desempenho geral da máquina e mascaram solicitações de interrupção (IRQs, na sigla em inglês) para CPUs virtuais (vCPUs) específicas. Esse script só otimiza o desempenho das partições SSD locais do Compute Engine.

Imagens Ubuntu, SLES e outras mais antigas talvez não estejam configuradas para incluir essa otimização de desempenho. Se você usa qualquer uma dessas imagens ou uma mais antiga que a v20141218, é possível instalar o ambiente convidado para ativar essas otimizações.

Escolha uma interface para conectar os SSDs locais

É possível conectar SSDs locais às suas VMs usando as interfaces NVMe ou SCSI. A escolha certa depende do sistema operacional (SO) que você está usando. Para a maioria das configurações de carga de trabalho que envolvem SSDs locais, o uso da interface NVMe garante um melhor desempenho.

  • Se você precisar usar um SO específico, escolha uma interface para as partições de SSDs locais que funcionam melhor com sua imagem do disco de inicialização.

  • Se você tiver uma configuração que requer o uso de uma interface SCSI, use uma imagem compatível com SCSI de várias filas para conseguir um desempenho melhor em relação ao SCSI padrão.

Ativar o SCSI de várias filas

Algumas imagens públicas são compatíveis com o SCSI de várias filas. Para usar o SCSI de várias filas em imagens personalizadas importadas para seu projeto, você precisa ativá-lo. Suas imagens importadas do Linux usam o SCSI de várias filas somente quando incluem a versão 3.19 ou posterior do kernel.

Para ativar o SCSI multifilas em uma imagem personalizada, importe a imagem com o recurso do sistema operacional convidado VIRTIO_SCSI_MULTIQUEUE ativado e inclua uma entrada na configuração do GRUB:

CentOS

Apenas para o CentOS7.

  1. Importe a imagem personalizada usando a API e inclua um item guestOsFeatures com um valor type de VIRTIO_SCSI_MULTIQUEUE.

  2. Crie uma instância usando sua imagem personalizada e anexe um ou mais SSDs locais.

  3. Conecte-se à instância pelo SSH.

  4. Verifique o valor do arquivo /sys/module/scsi_mod/parameters/use_blk_mq

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

    Se o valor desse arquivo for Y, o SCSI multifilas já estará ativado na imagem importada. Se o valor for N, inclua scsi_mod.use_blk_mq=Y na entrada GRUB_CMDLINE_LINUX do arquivo de configuração GRUB e reinicie o sistema.

    1. Abra o arquivo de configuração GRUB /etc/default/grub em um editor de texto.

      $ sudo vi /etc/default/grub
      
    2. Adicione scsi_mod.use_blk_mq=Y à entrada GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. Salve o arquivo de configuração.

    4. Execute o comando grub2-mkconfig para gerar novamente o arquivo GRUB e concluir a configuração.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. Reinicie a instância.

      $ sudo reboot
      

Ubuntu

  1. Importe a imagem personalizada usando a API do Compute Engine e inclua um item guestOsFeatures com um valor type de VIRTIO_SCSI_MULTIQUEUE.

  2. Crie uma instância usando a imagem personalizada e anexe um ou mais SSDs locais usando a interface SCSI.

  3. Conecte-se à instância pelo SSH.

  4. Verifique o valor do arquivo /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Se o valor desse arquivo for Y, o SCSI multifilas já estará ativado na imagem importada. Se o valor for N, inclua scsi_mod.use_blk_mq=Y na entrada GRUB_CMDLINE_LINUX do arquivo de configuração GRUB e reinicie o sistema.

    1. Abra o arquivo de configuração GRUB sudo nano /etc/default/grub em um editor de texto.

      $ sudo nano /etc/default/grub
      
    2. Adicione scsi_mod.use_blk_mq=Y à entrada GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. Salve o arquivo de configuração.

    4. Execute o comando update-grub para gerar novamente o arquivo GRUB e concluir a configuração.

      $ sudo update-grub
      
    5. Reinicie a instância.

      $ sudo reboot
      

A seguir