# Volt Network Benchmark Results ## Test Environment | Parameter | Value | |-----------|-------| | Date | YYYY-MM-DD | | Host CPU | Intel Xeon E-2288G @ 3.70GHz | | Host RAM | 64GB DDR4-2666 | | Host NIC | Intel X710 10GbE | | Host Kernel | 6.1.0-xx-amd64 | | VM vCPUs | 4 | | VM RAM | 8GB | | Guest Kernel | 6.1.0-xx-amd64 | | QEMU Version | 8.x.x | ## Test Configuration - Duration: 30 seconds per test - Ping count: 1000 packets - iperf3 parallel streams: 8 (multi-stream tests) --- ## Results ### Throughput (Gbps) | Test | virtio | vhost-net | macvtap | |------|--------|-----------|---------| | TCP Single Stream | | | | | TCP Multi-8 Stream | | | | | UDP Maximum | | | | | TCP Reverse | | | | ### Latency (microseconds) | Metric | virtio | vhost-net | macvtap | |--------|--------|-----------|---------| | ICMP P50 | | | | | ICMP P95 | | | | | ICMP P99 | | | | | TCP P50 | | | | | TCP P99 | | | | ### Packets Per Second | Packet Size | virtio | vhost-net | macvtap | |-------------|--------|-----------|---------| | 64 bytes | | | | | 128 bytes | | | | | 256 bytes | | | | | 512 bytes | | | | ### Transaction Rates (trans/sec) | Test | virtio | vhost-net | macvtap | |------|--------|-----------|---------| | TCP_RR | | | | | TCP_CRR | | | | | UDP_RR | | | | --- ## Analysis ### Throughput Analysis **TCP Single Stream:** - virtio: X Gbps (baseline) - vhost-net: X Gbps (Y% improvement) - macvtap: X Gbps (Y% improvement) **Key Finding:** [Describe the performance differences] ### Latency Analysis **P99 Latency:** - virtio: X µs - vhost-net: X µs - macvtap: X µs **Jitter (P99/P50 ratio):** - virtio: X.Xx - vhost-net: X.Xx - macvtap: X.Xx **Key Finding:** [Describe latency characteristics] ### PPS Analysis **64-byte Packets (best overhead indicator):** - virtio: X pps - vhost-net: X pps (Y% improvement) - macvtap: X pps (Y% improvement) **Key Finding:** [Describe per-packet overhead differences] --- ## Conclusions ### Performance Hierarchy 1. **macvtap** - Best for: - Maximum throughput requirements - Lowest latency needs - When host NIC can be dedicated 2. **vhost-net** - Best for: - Multi-tenant environments - Good balance of performance and flexibility - Standard production workloads 3. **virtio** - Best for: - Development/testing - Maximum portability - When performance is not critical ### Recommendations For Volt production VMs: - Default: `vhost-net` (best balance) - High-performance option: `macvtap` (when applicable) - Compatibility fallback: `virtio` ### Anomalies or Issues [Document any unexpected results, test failures, or areas needing investigation] --- ## Raw Data Full test results available in: - `results/virtio/TIMESTAMP/` - `results/vhost-net/TIMESTAMP/` - `results/macvtap/TIMESTAMP/` --- ## Reproducibility To reproduce these results: ```bash # On server VM iperf3 -s -D sockperf sr --daemonize netserver # On client VM (for each backend) ./run-all.sh virtio ./run-all.sh vhost-net ./run-all.sh macvtap # Generate comparison ./compare.sh results/ ``` --- *Report generated by Volt Benchmark Suite*