這張依磁碟類型區分的效能圖表說明瞭本機 SSD 分區可達到的最大效能。如要最佳化應用程式和 VM 執行個體,以達到這些速度,請採用下列最佳做法:
使用本機 SSD 的訪客環境最佳化功能
根據預設,大多數 Compute Engine 提供的 Linux 映像檔會自動執行最佳化指令碼,設定執行個體以發揮本機 SSD 的最高效能。該指令碼會啟用特定佇列 sysfs 設定,以提高機器的整體效能,並為特定虛擬 CPU (vCPU) 套用中斷要求 (IRQ)遮罩。這個指令碼只會最佳化 Compute Engine 本機 SSD 分割區的效能。
Ubuntu、SLES 和較舊的映像檔可能不包含這類效能最佳化設定。如果您使用任何這些映像檔或比 v20141218 更舊的映像檔,您可以安裝訪客環境,改為啟用這些最佳化。
選擇連線本機 SSD 的介面
您可以使用 NVMe 介面或 SCSI 介面,將本機 SSD 連接至 VM。最佳選擇取決於您使用的作業系統。對於大多數涉及本機 SSD 的工作負載設定,使用 NVMe 介面可提升效能。
啟用多佇列 SCSI
部分公開映像檔支援多佇列 SCSI。如要在匯入專案的自訂映像檔上使用多佇列 SCSI,必須自行啟用。匯入的 Linux 映像檔必須包含核心版本 3.19 以上,才能使用多佇列 SCSI。
如要在自訂映像檔上啟用多佇列 SCSI,請啟用 VIRTIO_SCSI_MULTIQUEUE 訪客 OS 功能並匯入映像檔,然後在 GRUB 設定中新增相關項目:
CentOS
僅適用於 CentOS7。
使用 API 匯入自訂映像檔,並加入
type值為VIRTIO_SCSI_MULTIQUEUE的guestOsFeatures項目。使用自訂映像檔建立執行個體,並連接一或多個本機 SSD。
透過安全殼層 (SSH) 連結至您的執行個體。
查看
/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,然後重新啟動系統。在文字編輯器上開啟
/etc/default/grubGRUB 設定檔。$ sudo vi /etc/default/grub將
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"儲存設定檔。
執行
grub2-mkconfig指令來重新產生 GRUB 檔案,然後完成設定。$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg重新啟動執行個體。
$ sudo reboot
Ubuntu
使用 Compute Engine API 匯入自訂映像檔,並加入
type值為VIRTIO_SCSI_MULTIQUEUE的guestOsFeatures項目。使用自訂映像檔建立執行個體,並使用 SCSI 介面連接一或多個本機 SSD。
透過安全殼層 (SSH) 連結至您的執行個體。
檢查
/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,然後重新啟動系統。在文字編輯器上開啟
sudo nano /etc/default/grubGRUB 設定檔。$ sudo nano /etc/default/grub將
scsi_mod.use_blk_mq=Y新增至GRUB_CMDLINE_LINUX項目。GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"儲存設定檔。
執行
update-grub指令來重新產生 GRUB 檔案,然後完成設定。$ sudo update-grub重新啟動執行個體。
$ sudo reboot