LVS on FreeBSD Performance Measure
The experiments used an ordinary Ienovo PC box with Pentium IV 2.4GHz
uniprocessor, 496MB SDRAM, and two Realtek RTL8139 Family PCI Fast 100MB Ethernet NICs.
The host was running standard FreeBSD-5.3 Release with no performance tuning.
The host connected with Spirent AX4000 network testing apparatus.
The testing result is shown as follows:
Table 1. Throughput of LVS on FreeBSD/DR
Packet length(bytes)
Packet throughput(packets/s)
Data throughput(KBits/s)
Bandwidth using(%)
60
73,382
45,790.624
45.79
100
68,456
64,622.394
64.62
150
59,671
80,198.282
80.20
200
50,768
88,538.537
88.54
250
43,403
93,055.470
93.06
300
36,883
93,831.593
93.83
500
23,133
95,863.080
95.86
1000
12,009
97,797.493
97.80
Table 2. Throughput of LVS on FreeBSD/TUN
Packet length(bytes)
Packet throughput(packets/s)
Data throughput(KBits/s)
Bandwidth using(%)
60
62,223
48,782.893
48.78
100
63,595
70,208.757
70.21
500
22,304
95,996.299
96.00
1000
11,781
97,829.021
97.83
As the result shown,when the packet length increases to larger than 200 bytes,
the bandwidth using of 100MB ethernet is larger than 90%. That means the bottleneck exists
in network other than LVS on FreeBSD software. Considering those popular internet services
such as HTTP, SMTP, Telnet, SSH, FTP, the packet length is larger than 200 bytes usually. Further more,
the hardware we used for measure is very ordinary, and we didn't tuning the FreeBSD kernel. So the
scalability of LVS on FreeBSD is very good.
Note:
The schedule algorithm we used is Round Robin(rr).
To LVS On FreeBSD/TUN, an additional IP header(usually 20 bytes) will be added to every packet be forwarded, the load will increase slightly. So as the data shown, the packet throughput is slightly lower than LVS On FreeBSD/DR, but the data throughput is higher contrarily.