Optimiza el rendimiento de SSD locales


En el gráfico de rendimiento por tipo de disco, se describe el rendimiento máximo que se puede lograr para las particiones de SSD locales. Para optimizar las apps y las instancias de VM a fin de alcanzar estas velocidades, usa las siguientes prácticas recomendadas:

Usa optimizaciones del entorno de invitado para las SSD locales

De forma predeterminada, la mayoría de las imágenes de Linux que proporciona Compute Engine ejecutan automáticamente una secuencia de comandos de optimización que configura la instancia para el rendimiento máximo del SSD local. La secuencia de comandos habilita ciertas opciones de configuración de la cola sysfs que mejoran el rendimiento general de la máquina y enmascaran solicitudes de interrupción (IRQ) a CPUs virtuales específicas. Esta secuencia de comandos solo optimiza el rendimiento de las particiones de SSD locales de Compute Engine.

Puede que Ubuntu, SLES y otras imágenes más antiguas no estén configuradas para incluir esta optimización de rendimiento. Si usas alguna de estas imágenes o una imagen anterior a la versión v20141218, puedes instalar el entorno de invitado para habilitar estas optimizaciones.

Elige una interfaz para conectar las SSD locales

Puedes conectar SSD locales a tus VM mediante la interfaz NVMe o la interfaz SCSI. La mejor opción depende del sistema operativo (SO) que uses. Para la mayoría de los parámetros de configuración de carga de trabajo que involucran SSD locales, el uso de la interfaz NVMe mejora el rendimiento.

  • Si necesitas usar un SO específico, elige una interfaz para las particiones de SSD locales que funcione mejor con la imagen de disco de arranque.

  • Si tienes una configuración existente que requiere el uso de una interfaz SCSI, usa una imagen que admita SCSI de varias colas para lograr un mejor rendimiento en la interfaz SCSI estándar.

Habilita una SCSI de varias colas

Algunas imágenes públicas admiten SCSI de varias colas. Para usar una SCSI de varias colas en imágenes personalizadas que importes a tu proyecto, debes habilitarla tú mismo. Tus imágenes de Linux importadas pueden usar una SCSI de varias colas solo si incluyen la versión de kernel 3.19 o una posterior.

Para habilitar una SCSI de múltiples colas en una imagen personalizada, importa la imagen con la característica VIRTIO_SCSI_MULTIQUEUE del SO invitado habilitada y agrega una entrada a tu configuración de GRUB:

CentOS

Solo para CentOS7.

  1. Importa tu imagen personalizada con la API y, luego, incluye un elemento guestOsFeatures con un valor type de VIRTIO_SCSI_MULTIQUEUE.

  2. Crea una instancia con tu imagen personalizada y adjunta uno o más SSD locales.

  3. Conéctate a tu instancia a través de SSH.

  4. Verifica el valor del archivo /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Si el valor de este archivo es Y, entonces la SCSI de múltiples colas ya está habilitada en tu imagen importada. Si el valor del archivo es N, incluye scsi_mod.use_blk_mq=Y en la entrada GRUB_CMDLINE_LINUX de tu archivo de configuración GRUB y reinicia el sistema.

    1. Abre el archivo de configuración GRUB /etc/default/grub en un editor de texto.

      $ sudo vi /etc/default/grub
      
    2. Agrega scsi_mod.use_blk_mq=Y a la entrada GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. Guarda el archivo de configuración.

    4. Ejecuta el comando grub2-mkconfig para regenerar el archivo GRUB y completar la configuración.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. Reinicia la instancia.

      $ sudo reboot
      

Ubuntu

  1. Importa tu imagen personalizada con la API de Compute Engine y, luego, incluye un elemento guestOsFeatures con un valor type de VIRTIO_SCSI_MULTIQUEUE.

  2. Crea una instancia con tu imagen personalizada y adjunta uno o más SSD locales mediante la interfaz SCSI.

  3. Conéctate a tu instancia a través de SSH.

  4. Verifica el valor del archivo /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Si el valor de este archivo es Y, entonces la SCSI de múltiples colas ya está habilitada en tu imagen importada. Si el valor del archivo es N, incluye scsi_mod.use_blk_mq=Y en la entrada GRUB_CMDLINE_LINUX de tu archivo de configuración GRUB y reinicia el sistema.

    1. Abre el archivo de configuración GRUB sudo nano /etc/default/grub en un editor de texto.

      $ sudo nano /etc/default/grub
      
    2. Agrega scsi_mod.use_blk_mq=Y a la entrada GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. Guarda el archivo de configuración.

    4. Ejecuta el comando update-grub para regenerar el archivo GRUB y completar la configuración.

      $ sudo update-grub
      
    5. Reinicia la instancia.

      $ sudo reboot
      

¿Qué sigue?