[v9_11] TCP performance on FreeBSD much lower than on Linux
BIND 9.11.20 and 9.11.19 (and probably older versions too) on a FreeBSD 12.1 (in a VM) has about a half of TCP query performance of Linux.
The stress test executes four instances of Flamethrower: UDP IPv6, UDP IPv4, TCP IPv6, and TCP IPv4. Knowing that each TCP Flamethrower runs with 30 concurrent generators, each sending 100 queries every 1000 ms we can calculate number of expected TCP queries processed by BIND. If at least 90 % of this target is processed, the test is considered pass.
This test does pass on Linux (Fedora 32) but fails on FreeBSD 12.1. Some difference can be accounted to difference between these two environments as the former is a bare metal, the latter a KVM VM. (But still this test passes on 9.16.3 on FreeBSD 12.1.)
9.16.3: Stress test (FreeBSD 12.1 / recursive / 1 hour)
INFO: Recursive server 'ns3' received 21066269 TCP queries
INFO: About 21600000 TCP queries were expected
INFO: Minimum number of TCP queries required to pass is 19440000
INFO: BIND processed enough TCP queries
9.11.20: Stress test (Fedora 32 / recursive / 1 hour)
INFO: Recursive server 'ns3' received 21257316 TCP queries
INFO: About 21600000 TCP queries were expected
INFO: Minimum number of TCP queries required to pass is 19440000
INFO: BIND processed enough TCP queries
9.11.20: Stress test (FreeBSD 12.1 / recursive / 12 hour)
INFO: Recursive server 'ns3' received 136973904 TCP queries
INFO: About 259200000 TCP queries were expected
INFO: Minimum number of TCP queries required to pass is 233280000
ERROR: BIND did not process enough TCP queries
This is similar but believed to be different to #1941 (closed).