slightly worse cold cache performance after the KeyTrap fix
The keytrap fix (merged in isc-private/bind9!628) has a significant impact on client query latency during startup (cold cache) as well as increased memory consumption. Using recursive-clients 1000;
yielded quite similar results to 10000
(which was used for most charts in here).
Cold cache latency
❓ 9.18 cold cache UDP
load 15x
before | after | |
---|---|---|
responses <2.0s | 91 % | 79 % |
responses <100ms | 88 % | 75 % |
load 10x
before | after | |
---|---|---|
responses <2.0s | 96 % | 89 % |
responses <100ms | 92 % | 85 % |
load 5x
before | after | |
---|---|---|
responses <2.0s | 99 % | 98 % |
responses <100ms | 93 % | 92 % |
❓ 9.16 cold cache UDP
✅ 9.19 cold cache UDP
the impact for v9.19 is quite minimal and I don't consider it an issue
❓ 9.18 cold cache TCP
The performance drop can also be observed with TCP with much lower overall throughput.
✅ Hot cache latency
The good news is that it doesn't really affect performance with hot cache.
Memory consumption
❓ 9.18 memory consumption UDP
The initial memory consumption also gets slightly higher:
✅ 9.18 memory consumption TCP
While the memory consumption is slightly higher for TCP under load, I think this can be explained by the fact that some queries take longer time to resolve -> some connections might be open for a longer time, thus consume more resources than before.