Some tiny changes and new benchmark test function (#136)

This commit is contained in:
Miek Gieben 2016-04-26 20:45:29 +01:00
parent 1aa1a92198
commit efd5135ee3
4 changed files with 45 additions and 4 deletions

View file

@ -2,6 +2,7 @@ package cache
import (
"log"
"strings"
"time"
"github.com/miekg/coredns/middleware"
@ -28,7 +29,7 @@ func cacheKey(m *dns.Msg, t middleware.MsgType, do bool) string {
}
qtype := m.Question[0].Qtype
qname := middleware.Name(m.Question[0].Name).Normalize()
qname := strings.ToLower(m.Question[0].Name)
switch t {
case middleware.Success:
fallthrough

View file

@ -33,7 +33,6 @@ func roundRobin(in []dns.RR) []dns.RR {
for _, r := range in {
switch r.Header().Rrtype {
case dns.TypeCNAME:
// d d d d DNAME and friends here as well?
cname = append(cname, r)
case dns.TypeA, dns.TypeAAAA:
address = append(address, r)

42
test/middleware_test.go Normal file
View file

@ -0,0 +1,42 @@
package test
import (
"io/ioutil"
"log"
"testing"
"github.com/miekg/coredns/middleware/test"
"github.com/miekg/dns"
)
func BenchmarkLookupBalanceRewriteCache(b *testing.B) {
t := new(testing.T)
name, rm, err := test.TempFile(t, ".", exampleOrg)
if err != nil {
t.Fatalf("failed to created zone: %s", err)
}
defer rm()
corefile := `example.org:0 {
file ` + name + `
rewrite ANY HINFO
loadbalance
}
`
ex, _, udp, err := Server(t, corefile)
if err != nil {
t.Fatalf("Could get server: %s", err)
}
defer ex.Stop()
log.SetOutput(ioutil.Discard)
c := new(dns.Client)
m := new(dns.Msg)
m.SetQuestion("example.org.", dns.TypeA)
b.ResetTimer()
for i := 0; i < b.N; i++ {
c.Exchange(m, udp)
}
}

View file

@ -3,7 +3,6 @@ package test
import (
"io/ioutil"
"log"
"os"
"testing"
"github.com/miekg/coredns/middleware"
@ -18,6 +17,7 @@ example.org. IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600
example.org. IN NS b.iana-servers.net.
example.org. IN NS a.iana-servers.net.
example.org. IN A 127.0.0.1
example.org. IN A 127.0.0.2
`
func TestLookupProxy(t *testing.T) {
@ -38,7 +38,6 @@ func TestLookupProxy(t *testing.T) {
defer ex.Stop()
log.SetOutput(ioutil.Discard)
defer log.SetOutput(os.Stderr)
p := proxy.New([]string{udp})
state := middleware.State{W: &test.ResponseWriter{}, Req: new(dns.Msg)}