Skip to content

Increase plugin performance #2

@acouvreur

Description

@acouvreur

Benchmark using https://github.com/codesenberg/bombardier

Traefik access without WAF

bombardier http://localhost:8000/no-waf
Bombarding http://localhost:8000/no-waf for 10s using 125 connection(s)
[===============================================================================================================] 10s
Done!
Statistics        Avg      Stdev        Max
  Reqs/sec     14430.33    1895.67   17523.04
  Latency        8.66ms     6.73ms   183.34ms
  HTTP codes:
    1xx - 0, 2xx - 144272, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:     7.25MB/s

Traefik access with WAF

bombardier http://localhost:8000/website2
Bombarding http://localhost:8000/website2 for 10s using 125 connection(s)
[===============================================================================================================] 10s
Done!
Statistics        Avg      Stdev        Max
  Reqs/sec       748.37     276.34    2325.02
  Latency      166.17ms   140.42ms      1.11s
  HTTP codes:
    1xx - 0, 2xx - 7565, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:   386.44KB/s

The WAF makes the Throughput almost 20x times slower.

  • Is it from the Go plugin ?
  • Is it from the extra request ?
  • Is it from the WAF engine ?

Or all combined ?

This is the test for direct access through WAF, no Traefik

bombardier http://localhost:8001/direct-waf                                      ✔  10s   14:33:19  
Bombarding http://localhost:8001/direct-waf for 10s using 125 connection(s)
[===============================================================================================================] 10s
Done!
Statistics        Avg      Stdev        Max
  Reqs/sec      1156.55     319.56    2558.76
  Latency      107.97ms   101.67ms      0.87s
  HTTP codes:
    1xx - 0, 2xx - 11632, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:   634.93KB/s

So the plugin might have room for improvement.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions