In my test,the access log make traefik have a poor performance

0. my os , hardware etc..
os:centos7.3
kernel: 4.16.12
traefik version:2.5
test tool: wrk (latest version)
hardware: cpu:20cores,memory:12GB,disk: SATA
cpu MHz : 2194.955
model name : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
processor : 19
1. my traefik.yaml

0> cat traefik.yaml 
global:
  checkNewVersion: true
  sendAnonymousUsage: true

entryPoints:
  web:
    address: :80

  websecure:
    address: :443
 
  udp10911:
    address: ":10911/udp"

  metrics:
    address: ":10900"

metrics:
  prometheus:
    entryPoint: metrics
    addEntryPointsLabels: true
    addRoutersLabels: true
    addServicesLabels: true

#log:
#  level: ERROR
#  filePath: log/traefik.log
#  format: json
accessLog:
  filePath: log/access.log
  bufferingSize: 1000
  format: json
api:
  insecure: true
  dashboard: true
#ping: {}
#tracing:
#  jaeger: {}
providers:
  file:
    directory: /data1/traefik/config
    watch: true
  #etcd:
  #  endpoints:
  #    - "127.0.0.1:2379"
  #kubernetesIngress:
    #throttleDuration: "10s"
    #allowEmptyServices: "false"
    #namespaces:
    #  - "default"
    #  - "production"
    #labelselector: "app=traefik"

cat 10001-gotest.com.yaml
http:
  #middlewares:
  #  limit:
  #    buffering:
  #      maxRequestBodyBytes: 2000000 #2MB
  routers:
    my-router:
      rule: "Host(`gotest.com`)"
      service: my-service
    my-router1:
      rule: "Host(`gotest1.com`)"
      service: my-service
  services:
    my-service:
      loadBalancer:
        servers:
        #- url: "http://10.41.252.57:80/"
        - url: "http://10.17.8.42:80/"
        - url: "http://10.17.8.43:80/"
        - url: "http://10.17.8.44:80/"
        - url: "http://10.17.8.24:80/"
        - url: "http://10.17.8.94:80/"
        - url: "http://10.17.8.95:80/"
  middlewares:
    test-retry:
      retry:
        attempts: 1
        initialInterval: 100ms

2. my router

3. my test command
wrk -t 256 -c 1000 -d 1h http://gotest.com

cat /etc/host
10.17.8.64 gotest.com

traefik deploy on 10.17.8.64
4. summary

the qps

nginx:90000 (turn on access log)
openresty:90000 (turn on access log)
traefik:45000(turn off accesslog)
traefik:220000(turn on accesslog)

5. my question
why turn on accesslog ,traefik only have a half qps of turn off? thanks !!!!!

1 Like