第7章 パフォーマンス
Red Hat OpenStack Platform 10 director は、ゲスト VNF 用にラインレートパフォーマンスを実現するために、リソースの分割および微調整を実施するようにコンピュートノードを設定します。NFV のユースケースにおける主要なパフォーマンス要素は、スループット、レイテンシー、およびジッターです。
DPDK で高速化した OVS では、物理 NIC と仮想マシンの間で高速なパケット切り替えが可能です。DPDK 2.2 対応の OVS 2.5 は vhost-user のマルチキューをサポートしているので、スケーラブルなパフォーマンスを実現できます。OVS-DPDK は、ゲスト VNF 用のラインレートパフォーマンスを提供します。
SR-IOV ネットワークでは、固有なネットワークや仮想マシンのスループットの向上など、強化されたパフォーマンス特性が提供されます。
パフォーマンスチューニングの他の重要な機能には、ヒュージページ、NUMA 調整、ホストの分離、CPU ピニングなどが挙げられます。VNF フレーバーには、パフォーマンス向上のためにヒュージページが必要です。ホストの分離や CPU ピニングにより、NFV パフォーマンスが向上され、擬似パケットロスが回避されます。
NFV に関するこれらの機能およびパフォーマンスチューニングについての詳細は、「NFV Performance Considerations」を参照してください。
7.1. 受信/送信キューサイズの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下に示す理由により、3.5 mpps を超える高いパケットレートではパケット喪失が生じる場合があります。
- ネットワークの中断
- SMI
- 仮想ネットワーク機能におけるパケット処理のレイテンシー
パケットロスを防ぐには、キューサイズをデフォルトの 256 から最大の 1024 に増やします。
前提条件
- 受信キューサイズを設定するには、libvirt v2.3 および QEMU v2.7 が必要です。
- 送信キューサイズを設定するには、libvirt v3.7 および QEMU v2.10 が必要です。
手順
受信および送信キューサイズを増やすには、該当する director ロールの
parameter_defaults:セクションに以下の行を追加します。ComputeOvsDpdk ロールにおける例を以下に示します。parameter_defaults: ComputeOvsDpdkParameters: -NovaLibvirtRxQueueSize: 1024 -NovaLibvirtTxQueueSize: 1024parameter_defaults: ComputeOvsDpdkParameters: -NovaLibvirtRxQueueSize: 1024 -NovaLibvirtTxQueueSize: 1024Copy to Clipboard Copied! Toggle word wrap Toggle overflow
テスト
nova.conf ファイルで、受信キューサイズおよび送信キューサイズの値を確認することができます。
[libvirt] rx_queue_size=1024 tx_queue_size=1024
[libvirt] rx_queue_size=1024 tx_queue_size=1024Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートホストの libvirt により生成された仮想マシンインスタンスの XML ファイルで、受信キューサイズおよび送信キューサイズの値を確認することができます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 受信キューサイズおよび送信キューサイズの値を検証するには、KVM ホストで以下のコマンドを使用します。
virsh dumpxml <vm name> | grep queue_size
$ virsh dumpxml <vm name> | grep queue_sizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - パフォーマンスの向上を確認することができます (例: 3.8 mpps/コアのレートでフレーム損失なし)。