last updated 2024-10-05 23:29Z
192.168.1.232 is iperf server (a 14-stable workstation) connected to the same switch
as the bhyve host and so the vm guests:
% ifconfig em0
em0: flags=1008843 UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP metric 0 mtu 1500
options=4e524bb RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG
ether bc:ee:7b:5d:39:7a
inet 192.168.1.232 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet 1000baseT full-duplex
status: active
nd6 options=29 PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
network is wired 1GiB
bhyve host is FreeBSD 15.0-CURRENT (GENERIC-NODEBUG) n271832-04262ed78d23
% ifconfig bge0
bge0: flags=1008943 UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP metric 0 mtu 1500
options=80099 RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE
ether 2c:76:8a:4f:14:64
inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseT )
status: active
nd6 options=29 PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
bhyve host is HP Proliant DL380p Gen8 Xeon E5-2690 @2.9GHz with 320GB ram
virtual machines are on enterprise SSDs in a zpool stripe
virtual machines are all zvols
tests started on the vms with 'iperf3 --time 60 -c 192.168.1.232' on each guest.
Load on the bhyve host was between 0.00 & 1.00
bhyve guests network speed tests
virtual machine |
bitrate MBps sender |
bitrate MBps receiver |
% of max throughput |
sender retries |
comments |
ubuntu server 24.04.01 |
933 |
933 |
99 |
0 |
Alpine Linux 6.6.52-0-virt #1-Alpine SMP PREEMPT_DYNAMIC |
941 |
941 |
100 |
0 |
OpenBSD 7.5 GENERIC.MP#82 amd64 |
693 |
693 |
73 |
0 |
NetBSD 9.4 (GENERIC) #0 |
469 |
469 |
49 |
0 |
NetBSD 10.0 (GENERIC) |
449 |
449 |
47 |
0 |
FreeBSD 15.0-CURRENT (GENERIC-NODEBUG) #1 n271321-9ae91f59c500 |
416 |
416 |
44 |
0 |
FreeBSD 14.1-RELEASE-p5 GENERIC |
338 |
338 |
35 |
0 |
FreeBSD 13.4-RELEASE releng/13.4-n258257-58066db597be GENERIC |
637 |
637 |
35 |
1101 |
very spiky throughput |
testing with -lro -tso -vlanhwcsum -vlanhwtso
tcp_rack_load="YES" is set in /boot/loader.conf and net.inet.tcp.functions_default=rack is set in /etc/sysctl.conf
% doas ifconfig bge0 -lro -tso -vlanhwcsum -vlanhwtso
%
% doas ifconfig bge0
bge0: flags=1008943 UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP metric 0 mtu 1500
options=80099 RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE
ether 2c:76:8a:4f:14:64
inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseT )
status: active
nd6 options=29 PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
virtual machine |
bitrate MBps sender |
bitrate MBps receiver |
% of max throughput |
sender retries |
comments |
FreeBSD bhyve *host* |
941 |
941 |
100 |
121 |
ubuntu server 24.04.01 |
940 |
940 |
100 |
147 |
Alpine Linux 6.6.52-0-virt #1-Alpine SMP PREEMPT_DYNAMIC |
941 |
941 |
100 |
29 |
OpenBSD 7.5 GENERIC.MP#82 amd64 |
728 |
728 |
77 |
0 |
NetBSD 9.4 (GENERIC) #0 |
422 |
422 |
44 |
0 |
NetBSD 10.0 (GENERIC) |
523 |
523 |
55 |
41 |
FreeBSD 15.0-CURRENT (GENERIC-NODEBUG) #1 n271321-9ae91f59c500 |
499 |
499 |
53 |
1124 |
FreeBSD 14.1-RELEASE-p5 GENERIC |
382 |
382 |
40 |
1338 |
FreeBSD 13.4-RELEASE releng/13.4-n258257-58066db597be GENERIC |
760 |
760 |
80 |
0 |