Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.3. 仮想化のパフォーマンスの機能と改善

Red Hat Enterprise Linux 7 での仮想化パフォーマンスの向上

次の機能により、Red Hat Enterprise Linux 7 の仮想化パフォーマンスが向上します。
自動 NUMA バランシング
自動 NUMA バランシングにより、Red Hat Enterprise Linux 7 ゲストを手動で調整しなくても、NUMA ハードウェアシステムで実行されているアプリケーションのパフォーマンスが向上します。自動 NUMA バランシングは、スレッドまたはプロセスである可能性のあるタスクを、アクセスしているメモリーの近くに移動します。これにより、ゼロ設定で優れたパフォーマンスが可能になります。ただし、状況によっては、より正確なゲスト設定を提供したり、CPU やメモリーのアフィニティーをホストするようにゲストを設定したりすると、より良い結果が得られる場合があります。
自動 NUMA バランシングの詳細については、「自動 NUMA バランシング」 を参照してください。
VirtIO モデル
virtio モデルを備えた仮想ハードウェアには、すべての特殊性を備えたハードウェアをエミュレートするオーバーヘッドはありません。VirtIO デバイスは、仮想化環境で使用するために特別に設計されているため、オーバーヘッドが低くなります。ただし、すべてのゲストオペレーティングシステムがそのようなモデルをサポートしているわけではありません。
マルチキュー virtio-net
パケットの送受信処理をゲストの使用可能な vCPU の数に合わせてスケーリングできるネットワークアプローチ。
マルチキュー virtio-net の詳細については、「マルチキュー virtio-net」 を参照してください。
ブリッジのゼロコピー送信
ゼロコピー送信モードでは、スループットに影響を与えることなく、ゲストネットワークと外部ネットワーク間で大きなパケットを送信する際のホスト CPU オーバーヘッドが最大 15% 削減されます。ブリッジのゼロコピー送信は、Red Hat Enterprise Linux 7 仮想マシンで完全にサポートされていますが、デフォルトでは無効になっています。
ゼロコピー送信の詳細については、「ブリッジのゼロコピー送信」 を参照してください。
APIC 仮想化 (APICv)
新しい Intel プロセッサーは、Advanced Programmable Interrupt Controller (APICv) のハードウェア仮想化を提供します。APICv は、ゲストが APIC に直接アクセスできるようにすることで、仮想化された AMD64 および Intel 64 ゲストのパフォーマンスを向上させ、APIC によって引き起こされる割り込みレイテンシーと仮想マシンの終了数を大幅に削減します。この機能は、新しい Intel プロセッサーでデフォルトで使用され、I/O パフォーマンスを向上させます。
EOI アクセラレーション
仮想 APIC 機能のない古いチップセットでの高帯域幅 I/O の割り込み終了アクセラレーション。
マルチキュー virtio-scsi
virtio-scsi ドライバーのマルチキューサポートによって提供されるストレージパフォーマンスとスケーラビリティーの向上。これにより、各仮想 CPU に別個のキューを持たせることが可能になります。また仮想 CPU は、その他の vCPU に影響を及ぼすことなく使用するために、割り込みできるようになります。
マルチキュー virtio-scsi の詳細については、「マルチキュー virtio-scsi」 を参照してください。
準仮想化チケットロック
準仮想化チケットロック (pvticketlocks) は、オーバーサブスクライブされた CPU を搭載した Red Hat Enterprise Linux 7 ホストで実行されている Red Hat Enterprise Linux 7 ゲスト仮想マシンのパフォーマンスを向上させます。
準仮想化ページフォールト
準仮想化ページフォールトは、ホストによってスワップアウトされたページにアクセスしようとすると、ゲストにインジェクトされます。これにより、ホストメモリーがオーバーコミットされ、ゲストメモリーがスワップアウトされた場合の KVM ゲストのパフォーマンスが向上します。
準仮想化時間 vsyscall の最適化
gettimeofday および clock_gettime システムコールは、vsyscall メカニズムを介してユーザースペースで実行されます。以前は、これらのシステムコールを発行するには、システムをカーネルモードに切り替えてから、ユーザースペースに戻す必要がありました。これにより、一部のアプリケーションのパフォーマンスが大幅に向上します。

Red Hat Enterprise Linux の仮想化パフォーマンス機能

  • CPU/カーネル
    • NUMA - Non-Uniform Memory Access。NUMA の詳細については、9章NUMA を参照してください。
    • CFS - Completely Fair Scheduler。最新のクラス重視のスケジューラー。
    • RCU - Read Copy Update。共有スレッドデータの処理が改善されます。
    • 最大 160 個の仮想 CPU (vCPU)。
  • メモリー
    • メモリーを大量に消費する環境向けのヒュージページやその他の最適化。詳しくは 8章メモリー を参照してください。
  • ネットワーク
    • vhost-net - 高速なカーネルベースの VirtIO ソリューション。
    • SR-IOV - ネイティブに近いネットワークパフォーマンスレベル用。
  • ブロック I/O
    • AIO - 他の I/O 操作とオーバーラップするスレッドのサポート。
    • MSI - PCI バスデバイスの割り込み生成。
    • ディスク I/O スロットリング - ゲストディスク I/O 要求を制御して、ホストリソースの過剰使用を防ぎます。詳しくは 「ディスク I/O スロットリング」 を参照してください。
注記
仮想化のサポート、制限、および機能の詳細については、『Red Hat Enterprise Linux 7 Virtualization Getting Started Guide』 および以下の URL を参照してください。