KVM-based microVMM for the Volt platform: - Sub-second VM boot times - Minimal memory footprint - Landlock LSM + seccomp security - Virtio device support - Custom kernel management Copyright (c) Armored Gates LLC. All rights reserved. Licensed under AGPSL v5.0
164 lines
3.1 KiB
Markdown
164 lines
3.1 KiB
Markdown
# 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 <server-ip> virtio
|
|
./run-all.sh <server-ip> vhost-net
|
|
./run-all.sh <server-ip> macvtap
|
|
|
|
# Generate comparison
|
|
./compare.sh results/
|
|
```
|
|
|
|
---
|
|
|
|
*Report generated by Volt Benchmark Suite*
|