Leistung lokaler SSD optimieren


In der nach Laufwerkstyp sortierten Leistungstabelle ist die maximal erreichbare Leistung lokaler SSD-Partitionen aufgeführt. Damit Ihre Anwendungen und VM-Instanzen diese Geschwindigkeiten erreichen, verwenden Sie die folgenden Best Practices:

Gastumgebung für lokale SSDs optimieren

Standardmäßig führen die meisten in Compute Engine bereitgestellten Linux-Images automatisch ein Optimierungsskript aus, das die Instanz für eine maximale Leistung der lokalen SSD konfiguriert. Das Skript aktiviert bestimmte sysfs-Einstellungen für Warteschlangen zur Verbesserung der Gesamtleistung der Maschine. Außerdem maskiert es Interrupt-Anfragen (IRQs) an bestimmte virtuelle CPUs (vCPUs). Dieses Skript optimiert nur die Leistung für lokale Compute Engine-SSD-Partitionen.

Ubuntu-, SLES- und andere frühere Images können möglicherweise nicht für diese Leistungsoptimierung konfiguriert werden. Wenn Sie eines dieser Images oder ein älteres Image als v20141218 verwenden, können Sie stattdessen die Gastumgebung installieren, um diese Optimierungen zu aktivieren.

Wählen Sie eine Schnittstelle zur Verbindung Ihrer lokalen SSDs aus

Sie können lokale SSDs über die NVMe-Schnittstelle oder die SCSI-Schnittstelle mit Ihren VMs verbinden. Die beste Wahl hängt vom verwendeten Betriebssystem ab. Bei den meisten Arbeitslastkonfigurationen mit lokalen SSDs führt die Verwendung der NVMe-Schnittstelle zu einer besseren Leistung.

  • Wenn Sie ein bestimmtes Betriebssystem verwenden müssen, wählen Sie eine Schnittstelle für Ihre lokalen SSD-Partitionen aus, die am besten zu Ihrem Bootlaufwerk-Image passt.

  • Wenn Sie bereits eine Einrichtung haben, die eine SCSI-Schnittstelle erfordert, verwenden Sie ein Image, das Multi-Queue-SCSI unterstützt. Damit erzielen Sie eine bessere Leistung als die Standard-SCSI-Schnittstelle.

Multi-Queue-SCSI aktivieren

Einige öffentliche Images unterstützen Multi-Queue-SCSI. Wenn Sie Multi-Queue-SCSI für benutzerdefinierte Images verwenden möchten, die Sie in Ihr Projekt importieren, müssen Sie die Funktion selbst aktivieren. Importierte Linux-Images unterstützen Multi-Queue-SCSI ab Kernel-Version 3.19.

Wenn Sie Multi-Queue-SCSI für ein benutzerdefiniertes Image aktivieren möchten, importieren Sie das Image mit aktivierter Gastbetriebssystemfunktion VIRTIO_SCSI_MULTIQUEUE. Fügen Sie dabei der GRUB-Konfiguration einen Eintrag hinzu:

CentOS

Nur für CentOS7

  1. Importieren Sie Ihr benutzerdefiniertes Image mit der API. Beziehen Sie dabei das Element guestOsFeaturesmit dem type-Wert VIRTIO_SCSI_MULTIQUEUE ein.

  2. Erstellen Sie eine Instanz mit Ihrem benutzerdefinierten Image und hängen Sie eine oder mehrere lokale SSDs an.

  3. Stellen Sie über SSH eine Verbindung zu Ihrer Instanz her.

  4. Prüfen Sie den Wert der Datei /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Wenn der Wert dieser Datei Y ist, ist das Multi-Queue-SCSI bereits auf Ihrem importierten Image aktiviert. Ist der Wert der Datei N, fügen Sie scsi_mod.use_blk_mq=Y in den Eintrag GRUB_CMDLINE_LINUX der GRUB-Konfigurationsdatei ein und starten Sie dann das System neu.

    1. Öffnen Sie die GRUB-Konfigurationsdatei /etc/default/grub in einem Texteditor.

      $ sudo vi /etc/default/grub
      
    2. Fügen Sie scsi_mod.use_blk_mq=Y zum Eintrag GRUB_CMDLINE_LINUX hinzu.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. Speichern Sie die Konfigurationsdatei.

    4. Führen Sie den Befehl grub2-mkconfig aus, um die GRUB-Datei neu zu generieren und die Konfiguration abzuschließen.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. Starten Sie die Instanz neu.

      $ sudo reboot
      

Ubuntu

  1. Importieren Sie das benutzerdefinierte Image mit der Compute Engine API und schließen Sie ein guestOsFeatures-Element mit dem type-Wert VIRTIO_SCSI_MULTIQUEUE ein.

  2. Erstellen Sie eine Instanz mit Ihrem benutzerdefinierten Image und verwenden Sie die SCSI-Schnittstelle, um eine oder mehrere lokale SSDs anzuhängen.

  3. Stellen Sie über SSH eine Verbindung zu Ihrer Instanz her.

  4. Prüfen Sie den Wert der Datei /sys/module/scsi_mod/parameters/use_blk_mq.

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

    Wenn der Wert dieser Datei Y ist, ist das Multi-Queue-SCSI bereits auf Ihrem importierten Image aktiviert. Ist der Wert der Datei N, fügen Sie scsi_mod.use_blk_mq=Y in den Eintrag GRUB_CMDLINE_LINUX der GRUB-Konfigurationsdatei ein und starten Sie dann das System neu.

    1. Öffnen Sie die GRUB-Konfigurationsdatei sudo nano /etc/default/grub in einem Texteditor.

      $ sudo nano /etc/default/grub
      
    2. Fügen Sie scsi_mod.use_blk_mq=Y zum Eintrag GRUB_CMDLINE_LINUX hinzu.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. Speichern Sie die Konfigurationsdatei.

    4. Führen Sie den Befehl update-grub aus, um die GRUB-Datei neu zu generieren und die Konfiguration abzuschließen.

      $ sudo update-grub
      
    5. Starten Sie die Instanz neu.

      $ sudo reboot
      

Nächste Schritte