最佳化本機 SSD 效能


各個磁碟類型的效能表說明瞭本機 SSD 分割區可達到的效能上限。如要最佳化應用程式和 VM 執行個體以達到此速度,請使用下列最佳做法:

針對本機 SSD 使用訪客環境最佳化

根據預設,Compute Engine 提供的 Linux 映像檔大多會自動執行最佳化指令碼,設定執行個體以獲得最佳本機 SSD 效能。該指令碼會啟用特定佇列 sysfs 設定,以提高機器的整體效能,並為特定虛擬 CPU (vCPU) 套用中斷要求 (IRQ)遮罩。這個指令碼只會最佳化 Compute Engine 本機 SSD 區隔的效能。

Ubuntu、SLES 和較舊的映像檔可能不包含這類效能最佳化設定。如果您使用任何這些映像檔或比 v20141218 更舊的映像檔,您可以安裝訪客環境,改為啟用這些最佳化。

選擇連接本機 SSD 的介面

您可以使用 NVMe 或 SCSI 介面,將本機 SSD 連接至 VM。最適合的選項取決於您使用的作業系統 (OS)。對於涉及本機 SSD 的大部分工作負載設定,使用 NVMe 介面可獲得更佳效能。

  • 如果您需要使用特定作業系統,請為本機 SSD 磁碟區選擇介面,以便與開機磁碟映像檔搭配使用。

  • 如果您現有的設定需要使用 SCSI 介面,請使用支援多佇列 SCSI的映像檔,以便透過標準 SCSI 介面達到更佳效能。

啟用多佇列 SCSI

某些公開映像檔支援多佇列 SCSI。如要在匯入專案的自訂映像檔上使用多佇列 SCSI,您必須自行啟用。匯入的 Linux 映像檔必須包含 3.19 以上核心版本才能使用多佇列 SCSI。

如要在自訂映像檔上啟用多佇列 SCSI,請啟用 VIRTIO_SCSI_MULTIQUEUE 訪客 OS 功能並匯入映像檔,然後在 GRUB 設定中新增相關項目:

CentOS

僅適用於 CentOS7。

  1. 使用 API 匯入自訂映像檔,並加入 type 值為 VIRTIO_SCSI_MULTIQUEUEguestOsFeatures 項目。

  2. 使用自訂映像檔建立執行個體,並連接一或多個本機 SSD

  3. 透過安全殼層 (SSH) 連結至您的執行個體

  4. 查看 /sys/module/scsi_mod/parameters/use_blk_mq 檔案的值。

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

    如果該檔案的值為 Y,表示匯入的映像檔已啟用多佇列 SCSI。如果該檔案的值為 N,請在 GRUB 設定檔的 GRUB_CMDLINE_LINUX 項目中加入 scsi_mod.use_blk_mq=Y,然後重新啟動系統。

    1. 在文字編輯器上開啟 /etc/default/grub GRUB 設定檔。

      $ sudo vi /etc/default/grub
      
    2. scsi_mod.use_blk_mq=Y 新增至 GRUB_CMDLINE_LINUX 項目。

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. 儲存設定檔。

    4. 執行 grub2-mkconfig 指令來重新產生 GRUB 檔案,然後完成設定。

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. 重新啟動執行個體。

      $ sudo reboot
      

Ubuntu

  1. 使用 Compute Engine API 匯入自訂映像檔,並加入 type 值為 VIRTIO_SCSI_MULTIQUEUEguestOsFeatures 項目。

  2. 使用自訂映像檔建立執行個體,並使用 SCSI 介面連接一或多個本機 SSD

  3. 透過安全殼層 (SSH) 連結至您的執行個體

  4. 檢查 /sys/module/scsi_mod/parameters/use_blk_mq 檔案的值。

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

    如果該檔案的值為 Y,表示匯入的映像檔已啟用多佇列 SCSI。如果該檔案的值為 N,請在 GRUB 設定檔的 GRUB_CMDLINE_LINUX 項目中加入 scsi_mod.use_blk_mq=Y,然後重新啟動系統。

    1. 在文字編輯器上開啟 sudo nano /etc/default/grub GRUB 設定檔。

      $ sudo nano /etc/default/grub
      
    2. scsi_mod.use_blk_mq=Y 新增至 GRUB_CMDLINE_LINUX 項目。

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. 儲存設定檔。

    4. 執行 update-grub 指令來重新產生 GRUB 檔案,然後完成設定。

      $ sudo update-grub
      
    5. 重新啟動執行個體。

      $ sudo reboot
      

後續步驟