今回はESXiでのちょっとしたTipsです。
■仮想CPU割り当ての罠
インフラ系SEのやさぐれ日記Blog というサイトの記事で、
以下のような文章を発見しました。
■仮想マシンに割り当てるvCPUの数について 基本的に1個のvCPUで構成する。 仮想マシンに割り当てるvCPUの数が増えるほど メモリのオーバーヘッドが発生する。 またvCPUの数を増やしたところで、 アプリがマルチスレッドに対応していないと パフォーマンスは向上しない。 仮にvCPUを仮想マシンに4個割り当てたとする。 この仮想マシンは実ホストのCPUに4コア分の空きができるまで 処理に待ち時間が発生するとのこと。
以前の仮想マシンでの録画環境という点においては、
この空きが出来るまでの待ち時間さえもったいなかったりします。
よって、今まではWindows7の仮想マシンということもあり、
仮想CPUを2つ割り当てていたのですが、実は1つにしておいたほうが、
このオーバーヘッド分だけ実際に処理を行うことが出来、
処理が間に合ったりするのでは?と考えているところです。
■適用中
とりあえず現在、仮想CPUを1つに変更してみて動作を確認しているところです。
数値等を眺めていると、2つ割り当てているときよりもDROPの数が少ない傾向にあるので、
この話は真実だと思います。
単純に今の環境が物理コア数以上の仮想マシンが動いているから、
このようにわかりやすい結果として出てきたのかもしれません。
Intel i5 使っていて、仮想マシンインスタンス数が6~8なので、
論理CPU数以上になっていたりもしています。
リアルタイム制約が強めのものにおいては、仮想マシンにしてはやはりダメですね。
物理コア数が多く、安価なPhenom系でESXiサーバー構築というのは、
実はナイスな選択なのかもしれません。
PhenomでIOMMU使ったデバイスパススルーの実験記事があれば、
是非読んでみたいですね。