ディスクタイプ別パフォーマンスの表には、ローカル 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/grubGRUB 構成ファイルを開きます。$ sudo vi /etc/default/grubGRUB_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/grubGRUB 構成ファイルを開きます。$ sudo nano /etc/default/grubGRUB_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