Ottimizzazione delle prestazioni SSD locali

Il grafico sulle prestazioni per tipo di disco descrive le prestazioni massime realizzabili per le partizioni SSD locali. Per ottimizzare le app e le istanze VM e raggiungere queste velocità, segui queste best practice:

Utilizza le ottimizzazioni dell'ambiente guest per le SSD locali

Per impostazione predefinita, la maggior parte delle immagini Linux fornite da Compute Engine esegue automaticamente uno script di ottimizzazione che configura l'istanza per le massime prestazioni degli SSD locali. Lo script attiva alcune impostazioni di sysfs della coda che migliorano le prestazioni generali della tua macchina e maschera le richieste di interruzione (IRQ) a specifiche CPU virtuali (vCPU). Questo script ottimizza le prestazioni solo per le partizioni SSD locali di Compute Engine.

Ubuntu, SLES e altre immagini precedenti potrebbero non essere configurate per includere questa ottimizzazione delle prestazioni. Se utilizzi una di queste immagini o un'immagine precedente alla v20141218, puoi installare l'ambiente guest per abilitare queste ottimizzazioni.

Scegli un'interfaccia per collegare le unità SSD locali

Puoi connettere le unità SSD locali alle VM utilizzando l'interfaccia NVMe o l'interfaccia SCSI. La scelta migliore dipende dal sistema operativo che utilizzi. Per la maggior parte delle configurazioni dei carichi di lavoro che coinvolgono SSD locali, l'utilizzo dell'interfaccia NVMe porta a prestazioni migliori.

  • Se devi utilizzare un sistema operativo specifico, scegli un'interfaccia per le partizioni SSD locali che funzioni meglio con l'immagine disco di avvio.

  • Se hai una configurazione esistente che richiede l'uso di un'interfaccia SCSI, usa un'immagine che supporti SCSI multi-coda per ottenere prestazioni migliori rispetto all'interfaccia SCSI standard.

Abilita SCSI multi-coda

Alcune immagini pubbliche supportano il protocollo SCSI multi-coda. Per utilizzare il protocollo SCSI con più code sulle immagini personalizzate importate nel progetto, devi abilitarlo autonomamente. Le immagini Linux importate possono utilizzare SCSI multi-coda solo se includono la versione del kernel 3.19 o successiva.

Per abilitare SCSI multi-coda su un'immagine personalizzata, importa l'immagine con la funzionalità del sistema operativo guest VIRTIO_SCSI_MULTIQUEUE abilitata e aggiungi una voce alla tua configurazione GRUB:

CentOS

Solo per CentOS7.

  1. Importa l'immagine personalizzata utilizzando l'API e includi un elemento guestOsFeatures con un valore type pari a VIRTIO_SCSI_MULTIQUEUE.

  2. Crea un'istanza utilizzando la tua immagine personalizzata e collega una o più SSD locali.

  3. Connettiti all'istanza tramite SSH.

  4. Controlla il valore del file /sys/module/scsi_mod/parameters/use_blk_mq

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

    Se il valore di questo file è Y, il protocollo SCSI con più code è già attivato nell'immagine importata. Se il valore del file è N, includi scsi_mod.use_blk_mq=Y nella voce GRUB_CMDLINE_LINUX del file di configurazione GRUB e riavvia il sistema.

    1. Apri il file di configurazione GRUB /etc/default/grub in un editor di testo.

      $ sudo vi /etc/default/grub
      
    2. Aggiungi scsi_mod.use_blk_mq=Y alla voce GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. Salva il file di configurazione.

    4. Esegui il comando grub2-mkconfig per rigenerare il file GRUB e completare la configurazione.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. Riavvia l'istanza.

      $ sudo reboot
      

Ubuntu

  1. Importa l'immagine personalizzata utilizzando l'API Compute Engine e includi un elemento guestOsFeatures con un valore type pari a VIRTIO_SCSI_MULTIQUEUE.

  2. Crea un'istanza utilizzando la tua immagine personalizzata e collega uno o più SSD locali utilizzando l'interfaccia SCSI.

  3. Connettiti all'istanza tramite SSH.

  4. Controlla il valore del file /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Se il valore di questo file è Y, il protocollo SCSI con più code è già attivato nell'immagine importata. Se il valore del file è N, includi scsi_mod.use_blk_mq=Y nella voce GRUB_CMDLINE_LINUX del file di configurazione GRUB e riavvia il sistema.

    1. Apri il file di configurazione GRUB sudo nano /etc/default/grub in un editor di testo.

      $ sudo nano /etc/default/grub
      
    2. Aggiungi scsi_mod.use_blk_mq=Y alla voce GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. Salva il file di configurazione.

    4. Esegui il comando update-grub per rigenerare il file GRUB e completare la configurazione.

      $ sudo update-grub
      
    5. Riavvia l'istanza.

      $ sudo reboot
      

Passaggi successivi