diff options
author | 2016-03-31 22:10:17 +0100 | |
---|---|---|
committer | 2016-03-31 22:10:17 +0100 | |
commit | b915393aa0b976d041ad1885aea4148a26def57f (patch) | |
tree | 0d4130889367a0c4ece38a9adf8e7f811bef137a /middleware/file/lookup_test.go | |
parent | 374223f9a9f85242770dbab42131adce79d838e8 (diff) | |
download | coredns-b915393aa0b976d041ad1885aea4148a26def57f.tar.gz coredns-b915393aa0b976d041ad1885aea4148a26def57f.tar.zst coredns-b915393aa0b976d041ad1885aea4148a26def57f.zip |
Add Benchmark functions
Add benchmark for normal and DNSSEC lookup. We can probably shave quite
a lot of these, but first lets actually get to something that is
serving.
Diffstat (limited to 'middleware/file/lookup_test.go')
-rw-r--r-- | middleware/file/lookup_test.go | 50 |
1 files changed, 40 insertions, 10 deletions
diff --git a/middleware/file/lookup_test.go b/middleware/file/lookup_test.go index 9b4e31cc8..6f9f59251 100644 --- a/middleware/file/lookup_test.go +++ b/middleware/file/lookup_test.go @@ -14,6 +14,16 @@ import ( var dnsTestCases = []coretest.Case{ { + Qname: "www.miek.nl.", Qtype: dns.TypeA, + Answer: []dns.RR{ + coretest.CNAME("www.miek.nl. 1800 IN CNAME a.miek.nl."), + }, + + Extra: []dns.RR{ + coretest.A("a.miek.nl. 1800 IN A 139.162.196.78"), + }, + }, + { Qname: "miek.nl.", Qtype: dns.TypeSOA, Answer: []dns.RR{ coretest.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), @@ -36,16 +46,6 @@ var dnsTestCases = []coretest.Case{ }, }, { - Qname: "www.miek.nl.", Qtype: dns.TypeA, - Answer: []dns.RR{ - coretest.CNAME("www.miek.nl. 1800 IN CNAME a.miek.nl."), - }, - - Extra: []dns.RR{ - coretest.A("a.miek.nl. 1800 IN A 139.162.196.78"), - }, - }, - { Qname: "a.miek.nl.", Qtype: dns.TypeSRV, Ns: []dns.RR{ coretest.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), @@ -124,6 +124,36 @@ func TestLookup(t *testing.T) { } } +func BenchmarkLookup(b *testing.B) { + zone, err := Parse(strings.NewReader(dbMiekNL), testzone, "stdin") + if err != nil { + return + } + + fm := File{Next: coretest.ErrorHandler(), Zones: Zones{Z: map[string]*Zone{testzone: zone}, Names: []string{testzone}}} + ctx := context.TODO() + rec := middleware.NewResponseRecorder(&middleware.TestResponseWriter{}) + + tc := coretest.Case{ + Qname: "www.miek.nl.", Qtype: dns.TypeA, + Answer: []dns.RR{ + coretest.CNAME("www.miek.nl. 1800 IN CNAME a.miek.nl."), + }, + + Extra: []dns.RR{ + coretest.A("a.miek.nl. 1800 IN A 139.162.196.78"), + }, + } + + m := tc.Msg() + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + fm.ServeDNS(ctx, rec, m) + } +} + const dbMiekNL = ` $TTL 30M $ORIGIN miek.nl. |