Ottimizzazione delle prestazioni SSD locali


Il grafico delle prestazioni in base al tipo di disco descrive le prestazioni massime ottenibili per le partizioni SSD locali. Per ottimizzare le app e le istanze VM in modo da raggiungere queste velocità, utilizza le seguenti best practice:

Utilizzare 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 dell'unità SSD locale. Lo script attiva determinate impostazioni sysfs della coda che migliorano le prestazioni complessive della macchina e mascherano le richieste di interruzione (IRQ) per CPU virtuali (vCPU) specifiche. 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 attivare queste ottimizzazioni.

Scegli un'interfaccia per collegare le unità SSD locali

Puoi collegare le unità SSD locali alle tue VM utilizzando l'interfaccia NVMe o l'interfaccia SCSI. La scelta migliore dipende dal sistema operativo (OS) in uso. Per la maggior parte delle configurazioni dei carichi di lavoro che coinvolgono le unità SSD locali, l'utilizzo dell'interfaccia NVMe consente di ottenere prestazioni migliori.

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

  • Se hai già una configurazione che richiede l'utilizzo di un'interfaccia SCSI, utilizza un'immagine che supporti SCSI multi-coda per ottenere un rendimento migliore rispetto all'interfaccia SCSI standard.

Attivare SCSI multi-coda

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

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

CentOS

Solo per CentOS 7.

  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 l'immagine personalizzata e collega una o più unità 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, significa che la funzionalità SCSI multi-coda è già attivata sull'immagine importata. Se il valore del file è N, include scsi_mod.use_blk_mq=Y nella voce GRUB_CMDLINE_LINUX nel file di configurazione GRUB e riavvia il sistema.

    1. Apri il /etc/default/grub file di configurazione 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 l'immagine personalizzata e collega una o più unità 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, significa che la funzionalità SCSI multi-coda è già attivata sull'immagine importata. Se il valore del file è N, include scsi_mod.use_blk_mq=Y nella voce GRUB_CMDLINE_LINUX nel file di configurazione GRUB e riavvia il sistema.

    1. Apri il sudo nano /etc/default/grub file di configurazione 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