# 基准测试结果

我们将FizzGate与市面上主要的网关产品进行比较,使用相同的环境和条件,测试对象均为单个节点。Mock接口模拟20ms时延,报文大小约2K。

分类 产品 600并发
QPS
600并发
90% Latency(ms)
1000并发
QPS
1000并发
90% Latency(ms)
后端服务 直接访问后端服务 23540 32.19 27325 52.09
流量网关 kong
v2.4.1
15662 50.87 17152 84.3
应用网关 fizz-gateway-community
v2.0.0
12206 65.76 12766 100.34
应用网关 spring-cloud-gateway
v2.2.9
11323 68.57 10472 127.59
应用网关 shenyu
v2.3.0
9284 92.98 9939 148.61

# 基准测试详情

# 硬件环境

后端Mock服务所在服务器:

  • 4核8G内存 Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz * 4
  • 操作系统 CentOS Linux release 7.6.1810 (Core)
  • 内核版本 Linux version 3.10.0-957.21.3.el7.x86_64

网关节点所在服务器:

  • 4核8G内存 Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz * 4
  • 操作系统 CentOS Linux release 7.6.1810 (Core)
  • 内核版本 Linux version 3.10.0-957.21.3.el7.x86_64

压测工具占用资源很少,安装在网关节点服务器。

# 压测工具

压测软件:wrk

并发连接: 600, 1000

# 测试用例说明

  • 使用Mock服务模拟一个耗时20ms, 响应报文约2k的接口
  • 所有被测试的网关的日志级别均为WARN
  • 所有被测试的网关不开启额外的插件(如:鉴权,流控等)
  • JVM最大堆内存4G
  • 每次压测时长5分钟

# 压测结果截图

  • 直接访问后端服务:

  • Kong:

  • fizz-gateway-communnity:

  • spring-cloud-gateway:

  • shenyu: