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.
Importe a imagem personalizada usando a API e inclua um item
guestOsFeatures
com um valortype
deVIRTIO_SCSI_MULTIQUEUE
.Crie uma instância usando sua imagem personalizada e anexe um ou mais SSDs locais.
Conecte-se à instância pelo SSH.
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 forN
, incluascsi_mod.use_blk_mq=Y
na entradaGRUB_CMDLINE_LINUX
do arquivo de configuração GRUB e reinicie o sistema.Abra o arquivo de configuração GRUB
/etc/default/grub
em um editor de texto.$ sudo vi /etc/default/grub
Adicione
scsi_mod.use_blk_mq=Y
à entradaGRUB_CMDLINE_LINUX
.GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
Salve o arquivo de configuração.
Execute o comando
grub2-mkconfig
para gerar novamente o arquivo GRUB e concluir a configuração.$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Reinicie a instância.
$ sudo reboot
Ubuntu
Importe a imagem personalizada usando a API do Compute Engine e inclua um item
guestOsFeatures
com um valortype
deVIRTIO_SCSI_MULTIQUEUE
.Crie uma instância usando a imagem personalizada e anexe um ou mais SSDs locais usando a interface SCSI.
Conecte-se à instância pelo SSH.
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 forN
, incluascsi_mod.use_blk_mq=Y
na entradaGRUB_CMDLINE_LINUX
do arquivo de configuração GRUB e reinicie o sistema.Abra o arquivo de configuração GRUB
sudo nano /etc/default/grub
em um editor de texto.$ sudo nano /etc/default/grub
Adicione
scsi_mod.use_blk_mq=Y
à entradaGRUB_CMDLINE_LINUX
.GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
Salve o arquivo de configuração.
Execute o comando
update-grub
para gerar novamente o arquivo GRUB e concluir a configuração.$ sudo update-grub
Reinicie a instância.
$ sudo reboot