Benchmark plan
- Performance test sites
- Test env:
- KVM with different kind of emulated NIC.
- Direct link.
- User mode network stack.
- With TUN/TAP
- Bridge/NAT with TUN/TAP.
- Native gPXE.
- Trace the issue that gPXE download speed slow on KVM.
Benchmark result
KVM-QEMU TAP versus User mode network stack
- This benchmark is addressed on the difference between user-mode-network-stack and tap interface of qemu-kvm.
- Image is placed on Host OS, to minimize the real network effect.
- Parameters for user mode network stack:
-net nic -net user,tftp=/tftproot,bootfile=gpxe_script
- Parameters for TAP network:
-net nic -net tap,ifname=tap0,script=no
- Default interface for guest OS is Realtek 8139.
- Get a disk image with 268,435,456 bytes.
Network type | Linux wget | gPXE 8K Window | gPXE 64K Window | |||
---|---|---|---|---|---|---|
User mode | 476KB/s | 550s | 298KB/s | 880s | 298KB/s | 879s |
TAP | 36MB/s | 7s | 5243KB/s | 50s | 495KB/s | 529s |
Port wscale branch against current gPXE master
Recent TCP updates is a lot different from previous base of wscale branch. Still working on it.
Window size difference
- Test target image on BKO: http://130.239.17.17/bko/live/fedora/f13-alpha/i686/initrd0.img
- Image size: 43,355,267 bytes
- Linux wget speed: 1MByte/s (My Internet link speed is 10Mbit/s, it's about the full spped.)
- Tested it with emulated rtl8139 of KVM, and Native on rtl8139 hardware.
Window Size | tcpfix2 branch | wscale branch | ||
---|---|---|---|---|
KVM TAP/NAT | Native | KVM TAP/NAT | Native | |
8K | 17KB/s | |||
16K | 43KB/s | |||
32K | 94KB/s | |||
64K | 198KB/s | |||
128K | ||||
256K | ||||
512K | ||||
1024K |