JXWAFJXWAF
首页
JXWAF标准版
JXWAF专业版
WebTDS
安全模型服务
GitHub
首页
JXWAF标准版
JXWAF专业版
WebTDS
安全模型服务
GitHub
  • JXWAF标准版文档

    • 产品介绍
    • 部署教程
    • 操作指南
    • API 调用
    • 性能测试报告
    • 防护能力测试报告

性能测试报告

测试环境说明

整体架构

标准版将 WAF 节点、控制台、数据库部署在同一台服务器上,架构如下:

  ┌───────────────────────────┐
  │       压测客户端 (wrk)     │
  └─────────────┬─────────────┘
                │ HTTP 请求
                ▼
  ┌─────────────────────────────────────────┐
  │          JXWAF 标准版服务器               │
  │  ┌─────────┐  ┌───────────┐              │
  │  │ WAF 节点 │  │ JXWAF     │              │
  │  │ (Nginx) │  │ 控制台     │              │
  │  └────┬────┘  └─────┬─────┘              │
  │       │             │                    │
  │       │      ┌──────┴──────┐             │
  │       │      │   MySQL     │             │
  │       │      └─────────────┘             │
  └───────┼─────────────────────────────────┘
          │ 代理转发
          ▼
  ┌───────────────────────────┐
  │       业务服务器           │
  │  (安全模型服务,JSON响应)   │
  └───────────────────────────┘

专业版中 WAF 节点与控制台、日志数据库分属不同服务器独立部署;标准版将三者合一,简化架构的同时降低硬件成本。

硬件规格

角色实例规格CPU内存系统盘网络数量
WAF 服务器(含节点+控制台+MySQL)阿里云 ecs.c9i.xlarge4 vCPU8 GiB40 GB ESSD PL01 Gbps1
业务服务器阿里云 ecs.c9i.xlarge4 vCPU8 GiB40 GB ESSD PL01 Gbps1
压测客户端阿里云 ecs.c9i.xlarge4 vCPU8 GiB40 GB ESSD PL01 Gbps1

软件环境

组件版本/说明
操作系统Debian 12.8 (kernel 6.1.0-18-amd64)
WAF 版本JXWAF 标准版
业务后端JXWAF安全模型服务,接口返回内容为 JSON 格式
压测工具wrk 4.2.0
网络所有节点处于同一 VPC 内网

本次压测的目标接口为 /demo/web_attack_check,正常业务请求及响应示例如下:

curl http://tmp-test.jxwaf.com/demo/web_attack_check -d 'a=1'

返回 JSON:

{"result":"safe","ai_model":"","status":"ok","token":"d3e45f050abd83df364dfd31676c46b0a01b8ee9"}

后续所有压力测试均通过 wrk 以 POST 表单方式模拟此类正常业务流量,以评估不同防护模式下的性能表现。

测试结果

为保证压测条件一致,所有测试方案均使用以下 wrk 配置:

cat > post.lua <<'EOF'
wrk.method = "POST"
wrk.body   = "id=1"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
EOF


wrk -t4 -c1000 -d60s --timeout 10s -s post.lua http://tmp-test.jxwaf.com/demo/web_attack_check
测试方案HTTP QPSHTTPS QPS
方案一:纯转发(所有防护关闭)67,84955,227
方案二:Web 防护引擎(AI防护+语义防护)36,38831,081
方案三:Web 防护引擎+流量防护引擎(所有流量防护模块开启)10,5747,739

测试结论

基于单节点 4 核 8G 配置,本次测试充分验证了 JXWAF 标准版在不同防护模式下的性能表现:

  • 高性能转发
    纯转发模式下,单节点可提供 67,849 HTTP QPS 与 55,227 HTTPS QPS 的吞吐能力,为高并发业务代理打下坚实基础。

  • AI 语义防护低开销
    开启 AI 安全模型与语义分析引擎后,HTTP QPS 仍达 36,388,HTTPS QPS 达 31,081,以较小的性能损失换取深度安全检测能力。

  • 全场景防护强劲可靠
    部署全部防护模块(Web 引擎 + 流量引擎)后,单节点依然稳定支撑 10,574 HTTP QPS 与 7,739 HTTPS QPS,单核吞吐超 2,600 QPS。单节点日均即可处理超 8 亿次请求检测,完全满足企业高并发场景下的安全防护需求。

    开启流量防护引擎后性能降幅较大,主要原因是标准版将 WAF 节点、控制台、MySQL 部署在同一台服务器上,流量防护引擎触发处置时需写入 MySQL 日志,导致磁盘 I/O 及系统资源竞争。若将 MySQL 独立部署或使用专业版分离架构,可有效缓解此问题。

附录:wrk 原始测试输出

方案一:纯转发(所有防护关闭)

HTTP

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua http://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ http://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    15.10ms    7.54ms 369.61ms   89.71%
    Req/Sec    17.06k     2.02k   21.84k    66.25%
  4074102 requests in 1.00m, 1.82GB read
Requests/sec:  67848.72
Transfer/sec:     31.06MB

HTTPS

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua https://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ https://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    19.32ms   21.85ms 751.10ms   97.97%
    Req/Sec    14.01k     1.87k   17.17k    71.60%
  3317735 requests in 1.00m, 1.48GB read
Requests/sec:  55226.57
Transfer/sec:     25.28MB

方案二:Web 防护引擎(AI防护+语义防护)

HTTP

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua http://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ http://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    29.28ms   26.96ms   1.03s    95.01%
    Req/Sec     9.15k     1.19k   14.06k    70.17%
  2184898 requests in 1.00m, 0.98GB read
Requests/sec:  36387.71
Transfer/sec:     16.66MB

HTTPS

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua https://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ https://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    33.40ms   23.41ms 632.60ms   90.48%
    Req/Sec     7.88k     1.17k   10.57k    70.92%
  1866705 requests in 1.00m, 854.50MB read
Requests/sec:  31081.06
Transfer/sec:     14.23MB

方案三:Web 防护引擎+流量防护引擎(所有防护模块开启)

HTTP

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua http://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ http://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   111.68ms  215.79ms   5.30s    99.05%
    Req/Sec     2.66k   411.13     4.41k    68.71%
  635002 requests in 1.00m, 4.40GB read
Requests/sec:  10574.23
Transfer/sec:     75.07MB

HTTPS

wrk -t4 -c1000 -d60s --timeout 10s -s post.lua https://tmp-test.jxwaf.com/demo/web_attack_check
Running 1m test @ https://tmp-test.jxwaf.com/demo/web_attack_check
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   129.19ms   41.06ms 674.06ms   77.48%
    Req/Sec     1.96k   355.35     2.99k    68.78%
  464801 requests in 1.00m, 212.77MB read
Requests/sec:   7738.83
Transfer/sec:      3.54MB
Prev
API 调用
Next
防护能力测试报告