mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
Some tiny changes and new benchmark test function (#136)
This commit is contained in:
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)}
|
||||||
|
|||||||
Reference in New Issue
Block a user