Otimizar o desempenho do SSD local


O gráfico de desempenho por tipo de disco descreve o desempenho máximo alcançável para partições SSD locais. Para otimizar as suas apps e instâncias de VM para alcançar estas velocidades, use as seguintes práticas recomendadas:

Use otimizações do ambiente de convidado para SSDs locais

Por predefinição, a maioria das imagens Linux fornecidas pelo Compute Engine executa automaticamente um script de otimização que configura a instância para o desempenho máximo do SSD local. O script ativa determinadas definições de fila sysfs que melhoram o desempenho geral da sua máquina e mascaram pedidos de interrupção (IRQs) para CPUs virtuais (vCPUs) específicas. Este script só otimiza o desempenho das partições de SSD local do Compute Engine.

O Ubuntu, o SLES e outras imagens anteriores podem não estar configurados para incluir esta otimização do desempenho. Se estiver a usar alguma destas imagens ou uma imagem anterior a v20141218, pode instalar o ambiente convidado para ativar estas otimizações.

Escolha uma interface para ligar os seus SSDs locais

Pode ligar SSDs locais às suas VMs através da interface NVMe ou da interface SCSI. A melhor escolha depende do sistema operativo (SO) que está a usar. Para a maioria das configurações de carga de trabalho que envolvem SSDs locais, a utilização da interface NVMe resulta num melhor desempenho.

  • Se precisar de usar um SO específico, escolha uma interface para as partições do SSD local que funcione melhor com a imagem do disco de arranque.

  • Se tiver uma configuração existente que exija a utilização de uma interface SCSI, use uma imagem que suporte SCSI de várias filas para alcançar um melhor desempenho do que a interface SCSI padrão.

Ative o SCSI de várias filas

Algumas imagens públicas suportam SCSI de várias filas. Para usar o SCSI de várias filas em imagens personalizadas que importa para o seu projeto, tem de o ativar manualmente. As imagens Linux importadas só podem usar SCSI de várias filas se incluírem a versão 3.19 ou posterior do kernel.

Para ativar o SCSI de várias filas numa imagem personalizada, importe a imagem com a funcionalidade do SO convidado VIRTIO_SCSI_MULTIQUEUE ativada e adicione uma entrada à configuração do GRUB:

CentOS

Apenas para o CentOS7.

  1. Importe a sua imagem personalizada através da API e inclua um item guestOsFeatures com um valor type de VIRTIO_SCSI_MULTIQUEUE.

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

  3. Ligue-se à sua instância através de SSH.

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

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

    Se o valor deste ficheiro for Y, o SCSI de várias filas já está ativado na imagem importada. Se o valor do ficheiro for N, inclua scsi_mod.use_blk_mq=Y na entrada GRUB_CMDLINE_LINUX no ficheiro de configuração do GRUB e reinicie o sistema.

    1. Abra o /etc/default/grubficheiro de configuração do GRUB num 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. Guarde o ficheiro de configuração.

    4. Execute o comando grub2-mkconfig para voltar a gerar o ficheiro 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 sua imagem personalizada através da API Compute Engine e inclua um item guestOsFeatures com um valor type de VIRTIO_SCSI_MULTIQUEUE.

  2. Crie uma instância com a sua imagem personalizada e anexe um ou mais SSDs locais através da interface SCSI.

  3. Ligue-se à sua instância através de SSH.

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

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

    Se o valor deste ficheiro for Y, o SCSI de várias filas já está ativado na imagem importada. Se o valor do ficheiro for N, inclua scsi_mod.use_blk_mq=Y na entrada GRUB_CMDLINE_LINUX no ficheiro de configuração do GRUB e reinicie o sistema.

    1. Abra o sudo nano /etc/default/grubficheiro de configuração do GRUB num 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. Guarde o ficheiro de configuração.

    4. Execute o comando update-grub para regenerar o ficheiro GRUB e concluir a configuração.

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

      $ sudo reboot
      

O que se segue?