概要

KVMを使ってサーバの仮想化をしているのですが、デフォルトの状態ではイマイチパフォーマンスが悪いと感じたため、チューニングを行いました。

ここでは、私が行なったチューニングの内容を紹介します。

環境

  • Ubuntu 18.04

KVMとは

KVMは、仮想化ソフトウェアのひとつです。
仮想化ソフトウェアでは、仮想環境を作り、そこでOSの実行させることができるため、既にUbuntuなどのOSを実行しておきながらさらにOSを動かすことができます。

私はこのKVMでサーバを構築しています。
また、KVMはコマンドで操作をするように設計されていますが、コマンドで操作するのは扱いづらいため、virt-managerというGUIで動作する管理ツールを使用しています。

チューニング

デフォルトの状態では、動作がもっさりしているように感じました。

そこで、色々と調べながらチューニングを行いました。

注意: チューニングの際には、チューニング後にパフォーマンスの計測をして前の状態と比べる必要がありますが、私は面倒なのでそこまで行なっていません。
そのため、他の環境では逆にパフォーマンスは落ちる可能性があり、注意が必要です。

ストレージのチューニング

ストレージのチューニングとして、主にキャッシュの設定などを見直しました。

設定は仮想マシンの情報画面からブートディスクを選択して表示される画面から行います。

設定内容は次の通りです。

  • ディスクバス: VirtIO
  • キャッシュモデル: writeback

normal_f64da0ce-db4b-45b8-8edc-6b237aad15d0.png

CPUのチューニング

CPUのチューニングとしては、CPUの設定を見直して処理の効率化を狙っています。

設定は仮想マシンの情報画面からCPU数を選択して表示される画面から行います。

設定内容は次の通りです。

  • 「ホストCPUの設定をコピーする」にチェックを入れる

normal_35d0a08b-04b7-4abc-92c7-77cadf47a3a4.png

ネットワークのチューニング

ネットワークのチューニングとして、NICの設定を見直しています。

設定は仮想マシンの情報画面からNICを選択して表示される画面から行います。

設定内容は次の通りです。

  • デバイスのモデル: Virtio

normal_572d685e-4f51-4c06-b080-cbd9ea71db05.png

さいごに

私の行なったチューニングについて紹介しました。
私としてはこれで結構快適になったのですが、他の環境でもそうなるかは分かりません。

あくまで一例として参考になれば幸いです。