ディスクタイプ別パフォーマンスの表には、ローカル 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 インターフェースを使用するとパフォーマンスが向上します。
特定の OS を使用する必要がある場合は、ブートディスク イメージに最適なローカル SSD パーティション用のインターフェースを選択します。
既存の設定で SCSI インターフェースを使用する必要がある場合は、標準の SCSI インターフェースよりも優れたパフォーマンスを実現するために、マルチキュー SCSI をサポートするイメージを使用してください。
マルチキュー SCSI を有効にする
公開イメージのいくつかは、マルチキュー SCSI に対応しています。プロジェクトにインポートするカスタム イメージでマルチキュー SCSI を使用するには、手動で有効にする必要があります。Linux イメージをインポートする場合は、カーネル バージョンが 3.19
以降の場合のみマルチキュー SCSI を使用できます。
カスタム イメージでマルチキュー SCSI を有効にするには、VIRTIO_SCSI_MULTIQUEUE
ゲスト OS 機能を有効にしてイメージをインポートし、GRUB 構成ファイルにエントリを追加します。
CentOS
CentOS7 のみ。
API を使用してカスタム イメージをインポートし、
type
の値がVIRTIO_SCSI_MULTIQUEUE
のguestOsFeatures
項目を含めます。カスタム イメージを使用してインスタンスを作成し、ローカル SSD を少なくとも 1 つ接続します。
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/grub
GRUB 構成ファイルを開きます。$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX
の項目にscsi_mod.use_blk_mq=Y
を追加します。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 インターフェースを使用して 1 つまたは複数のローカル 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/grub
GRUB 構成ファイルを開きます。$ sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX
の項目にscsi_mod.use_blk_mq=Y
を追加します。GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
構成ファイルを保存します。
update-grub
コマンドを実行して GRUB ファイルを再生成し、構成を完了します。$ sudo update-grub
インスタンスを再起動します。
$ sudo reboot