Skip to content

guessi/dnsperf-bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNS Performance Testing with Kubernetes Pods

Docker Stars Docker Pulls Docker Automated

Integrated Items

  • DNSPerf 2.14.0

🔥 Stress Test 🔥 Benchmark with Kubernetes Pods

Apply pre-configured testing deployment/pods

kubectl apply -f https://raw.githubusercontent.com/guessi/dnsperf-bench/main/k8s-dnsperf-bench.yaml

Make sure the deployment is running as expected

kubectl get pods -l app=dnsperf
NAME                       READY   STATUS    RESTARTS   AGE
dnsperf-7b9cc5b497-d5nfs   1/1     Running   0          1m16s

Check benchmark results

kubectl logs -f deployments/dnsperf
...
Statistics:
  ...
  Queries per second:   17241.513774
  ...

Even more stress 🔥🔥🔥

kubectl scale deployments/dnsperf --replicas 10

🤔 Evaluate why there would have performance issue

Does CoreDNS running expected version?

kubectl describe deployments coredns -n kube-system | grep 'Image:'

Does CoreDNS running with expected Corefile?

kubectl describe configmap coredns -n kube-system

Does CoreDNS running with correct resources configuration?

kubectl get deployments coredns -n kube-system -o json | jq -r '.spec.template.spec.containers[0].resources'

Does CoreDNS need more CPU/Memory resources?

kubectl top pods -n kube-system -l k8s-app=kube-dns

How many CoreDNS Pods running? Have you enabled CoreDNS AutoScaler?

kubectl get deployments coredns -n kube-system

DO NOT report bug without trying to do performance tuning. If you try to gain too much stress without tuning CoreDNS configureation, it is expected to have some TIMEOUT or packet losts. It's expected if you don't change.

📑 Reference