Closed
Description
Ran a DNS performance test against the kubedns pod vs the native GCE DNS server.
kubedns performance was only around 10% that of going directly to the GCE DNS at "169.254.169.254".
The single kubedns pod seems to max out at around the same performance as provided by the GCE DNS to each unique IP address. Since all 10 Pods are running the same query-file, we would expect the dnsmasq caching would dramatically speed up performance.
Running against DNS cluster ip 10.0.0.10 is around 109 QPS
Queries per second: 137.991371
Queries per second: 112.373670
Queries per second: 97.577085
Queries per second: 131.381920
Queries per second: 35.410735
Queries per second: 136.044372
Queries per second: 49.806700
Queries per second: 128.092776
Queries per second: 133.084200
Queries per second: 133.843242
Running directly against 169.254.169.254 is 1256 QPS
Queries per second: 1233.658841
Queries per second: 1292.178002
Queries per second: 1204.961019
Queries per second: 1278.054183
Queries per second: 1297.116902
Queries per second: 1209.742660
Queries per second: 1250.562897
Queries per second: 1233.336819
Queries per second: 1303.879214
Queries per second: 1255.794775
Methodology:
2 n1-standard-2 instances as schedulable nodes.
Hairpin_veth mode is on.
1 kubedns pod.
10 DNSPerf client pods running as 10 parallel completions under one "Job".