-
Notifications
You must be signed in to change notification settings - Fork 21
Load Testing Findings
Chris O'Haver edited this page Mar 27, 2019
·
13 revisions
Focus: RRL table memory usage. This test uses a very large RRL table, and fills it to capacity without causing evictions.
%CPU RSIZE QPS Latency rrl version
cache only 621 39620K 103356 0.000960 -
cache + rrl 722 68768K 99834 0.000994 19459eb
+16% +74% -3% +4%
cache + rrl 702 63728K 96958 0.001024 2f2a2a0
+13% +61% -6% +7%
Notes:
cache and rrl table size both = 100000
100000 distinct queries sent 50 times
erratic (drop 0) used to create records
No rate limiting occurs during the test (0 packet loss).
client packet.io c2.medium.x86 dnsperf
server packet.io c2.medium.x86 coredns 1.4.0 + rrl
Focus: Eviction. This test uses a smaller RRL table, to test eviction performance.
%CPU RSIZE QPS Latency rrl ver rrl eviction
cache only 525 39968K 104857 0.000945 - -
cache + rrl 674 40408K 102575 0.000967 b1acdf7 safe (non-random)
+28% +1% -2% +2%
cache + rrl 665 41500K 101896 0.000973 b1acdf7 unsafe (random)
+27% +1% -2% +2%
cache + rrl 649 39668K 99998 0.000992 2f2a2a0 safe (non-random)
+24% +1% -5% +5%
When comparing safe vs unsafe/random evictions methods,
there is not a significant performance difference.
Notes:
cache and rrl table size both = 1000
100000 distinct queries sent 50 times
erratic (drop 0) used to create records
No rate limiting occurs during the test (0 packet loss).
client packet.io c2.medium.x86 dnsperf
server packet.io c2.medium.x86 coredns 1.4.0 + rrl