ネットワーク性能とSMP

眠いので今日は簡単にまとめます.

KVM(というかQEMU)には多くの仮想NICが実装されていますが,現在の主要NICといえば

  1. rtl8139(デフォルトNIC
  2. e1000
  3. virtio(準仮想化NIC

の3つだと思います.

大雑把にいうと性能はvirtio > e1000 > rtl8139となりますが,KVMの面白いところ(という最適化が甘いところ)はゲストをSMPで動かしたときの性能の変化にあります.その変化は

  • rtl8139↑
  • e1000→
  • virtio↓

となります.

ゲストをSMPにするとvirtioが性能が落ちてしまうのが悲しいですね.

追伸
CPU数(スレッド数)とネットワーク性能といえば
The Linux Foundation Japan Symposium #7Red HatのDavid MillerがHorizonatal Scaling and its Implications for the Linux Networkingという発表をするみたいですね.興味深いです.