1) Single CPU thread benchmark: benchmark_pps_ipg
In this benchmark, we perform several tests by sending packets using bittwist at packets per second (PPS) inter-packet gap (IPG) with a set number of packets onto the loopback interface. We use bittwiste to create all the packets for this benchmark. The benchmark results (actual) are compared to the expected values (calculated).
Benchmark configurations:
Version | Bit-Twist 4.4 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Date | October 22, 2024 | ||||||||||||||||
System |
|
||||||||||||||||
Packet sizes | All packets are UDP packets without payload, i.e. packet size is 42 bytes (Ethernet header = 14 bytes + IP header = 20 bytes + UDP header = 8 bytes). | ||||||||||||||||
PPS and packet count |
|
Benchmark results:
Each of the charts below shows the actual vs expected IPG in microseconds (left y-axis) at the specified PPS. The difference between actual and expected is shown in percentage (right y-axis). The number of packets sent is indicated by the x-axis.
2) On-wire max. throughput benchmark: benchmark_max_throughput
In this benchmark, we perform several tests by sending packets of increasing length using bittwist onto an actual network interface card connected to another host. The tests are repeated at several line rates in Mbps up to the maximum line rate of the NICs. We use bittwiste to create all the packets for this benchmark. The benchmark results (actual) are compared to the expected values (calculated).
Benchmark configurations:
Version | Bit-Twist 4.4 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Date | October 22, 2024 | ||||||||||
System x 2 |
|
||||||||||
Cable | RJ45 CAT6 Ethernet cable (2m) | ||||||||||
Packet sizes | All packets are UDP packets with 0x00 bytes payload added to extend them to the length of, 64, 128, 256, 512, 1024, 1280, and 1514 bytes, as per recommendation from RFC 2544. | ||||||||||
Line rates | 10, 100, 1000, 2500 Mbps | ||||||||||
Packet count | We schedule each test to run for approximately 60 seconds, as per recommendation from RFC 2544, using this formula for packet count = (line_rate_mbps * 1000 * 1000 * 30) / (packet_bytes * 8) |
Benchmark results:
Each of the charts below shows the actual vs expected throughput in Mbps (left y-axis) at the configured line rate in Mbps. The difference between actual and expected is shown in percentage (right y-axis). The packet length in bytes is indicated by the x-axis.