Some tiny changes and new benchmark test function (#136)
This commit is contained in:
parent
1aa1a92198
commit
efd5135ee3
4 changed files with 45 additions and 4 deletions
3
middleware/cache/cache.go
vendored
3
middleware/cache/cache.go
vendored
|
@ -2,6 +2,7 @@ package cache
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/miekg/coredns/middleware"
|
"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
|
qtype := m.Question[0].Qtype
|
||||||
qname := middleware.Name(m.Question[0].Name).Normalize()
|
qname := strings.ToLower(m.Question[0].Name)
|
||||||
switch t {
|
switch t {
|
||||||
case middleware.Success:
|
case middleware.Success:
|
||||||
fallthrough
|
fallthrough
|
||||||
|
|
|
@ -33,7 +33,6 @@ func roundRobin(in []dns.RR) []dns.RR {
|
||||||
for _, r := range in {
|
for _, r := range in {
|
||||||
switch r.Header().Rrtype {
|
switch r.Header().Rrtype {
|
||||||
case dns.TypeCNAME:
|
case dns.TypeCNAME:
|
||||||
// d d d d DNAME and friends here as well?
|
|
||||||
cname = append(cname, r)
|
cname = append(cname, r)
|
||||||
case dns.TypeA, dns.TypeAAAA:
|
case dns.TypeA, dns.TypeAAAA:
|
||||||
address = append(address, r)
|
address = append(address, r)
|
||||||
|
|
42
test/middleware_test.go
Normal file
42
test/middleware_test.go
Normal 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)
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,7 +3,6 @@ package test
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/miekg/coredns/middleware"
|
"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 b.iana-servers.net.
|
||||||
example.org. IN NS a.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.1
|
||||||
|
example.org. IN A 127.0.0.2
|
||||||
`
|
`
|
||||||
|
|
||||||
func TestLookupProxy(t *testing.T) {
|
func TestLookupProxy(t *testing.T) {
|
||||||
|
@ -38,7 +38,6 @@ func TestLookupProxy(t *testing.T) {
|
||||||
defer ex.Stop()
|
defer ex.Stop()
|
||||||
|
|
||||||
log.SetOutput(ioutil.Discard)
|
log.SetOutput(ioutil.Discard)
|
||||||
defer log.SetOutput(os.Stderr)
|
|
||||||
|
|
||||||
p := proxy.New([]string{udp})
|
p := proxy.New([]string{udp})
|
||||||
state := middleware.State{W: &test.ResponseWriter{}, Req: new(dns.Msg)}
|
state := middleware.State{W: &test.ResponseWriter{}, Req: new(dns.Msg)}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue