注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
衡量 Oracle Cloud Infrastructure Web Application Firewall 延迟对 Oracle Cloud Infrastructure Load Balancer 的影响
简介
在本教程中,我们使用高性能 HTTP 负载测试工具 Siege 对 OCI 负载平衡器上的 Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) 性能影响进行基准测试。
通过在启用或不启用 OCI WAF 的情况下对 OCI 负载平衡器运行围攻测试,我们可以衡量关键性能指标,例如延迟、吞吐量、事务处理速率和并发性。其目标是了解 OCI WAF 引入的开销,并确定其在安全性和性能之间的权衡。
此基准测试有助于了解 OCI WAF 是否会对响应时间产生重大影响,以及在高流量环境中增加安全性的优势是否超过性能成本。
在本教程中,我们将部署一个带有附加区域 OCI WAF 的专用 OCI 负载平衡器,以分析其对延迟的影响。体系结构包括:
-
专用负载平衡器:在专用子网中运行,并在后端服务器之间安全地分配流量。
-
区域 WAF:在将传入的 HTTP 流量转发到 OCI 负载平衡器之前,对其进行检查和过滤。
-
后端服务器:在专用子网中运行的两个或三个 Apache Tomcat 实例,通过传输层安全 (Transport Layer Security,TLS) 端到端提供 Web 流量。
-
Siege Load Testing Tool:生成 HTTP 流量以模拟实际负载和度量延迟影响。
为什么本教程至关重要?
安全性和性能是现代云应用的两个关键因素。尽管 OCI WAF 有助于抵御网络威胁,但它可能会带来影响用户体验的其他延迟。了解 OCI WAF 如何通过端到端 TLS 影响 OCI 负载平衡器的性能,对于旨在优化安全性和响应性的架构师和工程师来说至关重要。
本教程提供了一种实用的方法来衡量 OCI WAF 诱导的延迟。有关 OCI WAF 的更多信息,请参阅 OCI WAF 。
什么是 Oracle Cloud Infrastructure Flexible Network Load Balancer?
OCI 中的灵活负载平衡器是一项全托管式服务,可在多个后端服务器之间自动分配 HTTP、HTTPS 和 TCP 流量。它提供可扩展性、高可用性和流量管理,无需手动干预。OCI Flexible Network Load Balancer 可以轻松配置 SSL/TLS 终止、OCI WAF 集成和高级路由功能,以满足现代应用的需求。有关详细信息,请参阅 Oracle Cloud Infrastructure Flexible Network Load Balancer 。
体系结构
此架构设计说明了一个基于 Siege HTTPS 基准实用程序的客户端虚拟机 (VM),该虚拟机连接到一个专用负载平衡器,该负载平衡器将附加一个本地/区域 OCI WAF,以及三个使用 HTTPS 的不同 Apache Tomcat 后端服务器。我们将使用和不使用 OCI WAF 测试负载平衡器。
目标读者
本教程面向云架构师、DevOps 工程师以及使用 OCI Load Balancer 和 OCI WAF 的安全专业人员。如果您需要在不影响性能的情况下优化安全性,可以使用本教程。
目标
- 评估 OCI WAF 区域性 OCI 引入 OCI Flexible Network Load Balancer 的延迟和带宽影响。在本教程中,用户将学习如何在 OCI Flexible Network Load Balancer 中将 Siege 设置为 HTTP(S) 基准测试工具并配置 OCI WAF。
先决条件
-
活动 OCI 租户。您必须具有在 OCI 中创建和管理网络资源的必要权限。
-
基本了解 Linux 操作系统、OCI 和 Oracle Linux,包括如何在 Linux 中安装和配置软件。
-
充分了解如何使用 OCI 控制台创建和管理网络资源。
-
了解如何使用和配置 OCI Flexible Network Load Balancer 和 OCI WAF。
任务 1:部署网络组件(VCN、子网、OCI 负载平衡器和 OCI WAF)
-
使用您选择的 IPv4 CIDR 或遵循建议的体系结构,在租户中部署至少具有三个子网(围困、负载平衡器和 WebTier)的虚拟云网络 (VCN)。有关详细信息,请参见以下主题:
-
在 OCI 负载平衡器子网中部署具有 WAF 的 OCI 灵活网络负载平衡器。有关详细信息,请参见以下主题:
对于此测试,我们已经加载了 OCI WAF 策略,其中至少包含 300 个建议保护规则,如下所示:
任务 2:在子网中部署 VM 以进行测试
我们需要部署 Oracle Linux 9 映像,以便稍后将 HTTP 基准测试工具 Siege 以及 Apache Tomcat 作为后端服务器进行安装。
要创建 VM,请参阅本文档:部署 OCI 实例
您需要在客户端子网中部署一个用于围城的 VM。
任务 3:在 Oracle Linux 上安装隔离
-
在 Oracle Linux 中启用适用于 Enterprise Linux (EPEL) 的额外软件包系统信息库。有关更多信息,请参见 How to Enable EPEL Repository on Oracle Linux 8/9 。
-
以 root 用户身份运行以下命令来安装 Siege。
yum install siege
-
运行以下命令以验证 Siege 版本。
siege -v
您应该会看到当前 Siege 版本以及其他帮助命令。
任务 4:在 Oracle Linux 上安装 Apache Tomcat
此时,我们有一个 OCI 灵活网络负载平衡器,未配置后端服务器。现在,我们将在 Oracle Linux 8 或 9 上安装 Linux 版本的 Apache Tomcat。
-
在 Web 专用子网中部署两个或三个 linux VM。有关详细信息,请参阅部署 OCI 实例。
-
将 Apache Web 服务器安装到这些 VM 中。有关更多信息,请参见 Install the Apache Web Server 和 Installing Tomcat on Oracle Linux in Oracle Cloud 。
-
启动并运行 Apache Web 服务器后,请确保 OCI 负载平衡器子网可以访问 Web 专用子网,从而允许从 OCI 负载平衡器子网将 HTTPS 流量传输到 Web 专用子网(端口
443
)。现在,要添加后端服务器,请参阅任务 3:配置 OCI 负载平衡器的步骤 8。 -
转到 OCI 控制台,导航到网络、负载平衡器、负载平衡器、负载平衡器详细信息、后端集、后端集详细信息并单击后端,应看到两个后端服务器。
现在,使用和不使用 OCI WAF 来测试 OCI 负载平衡器性能。
任务 5:围困基准分析—具有 OCI WAF 和没有 OCI 负载平衡器性能
现在,我们已经配置了 OCI 负载平衡器和 OCI WAF 以及后端服务器,我们需要采取一些初始步骤来使 Siege 通过 HTTPS 连接工作。
我们使用实验室认证机构 (CA) 证书对安装在 OCI 负载平衡器和后端服务器上的服务器证书进行签名。但是,我们只需关注 OCI 负载平衡器的服务器证书,因为 OCI 负载平衡器将终止 TLS 连接并与后端服务器建立第二个 TLS 连接。第二个连接对 Siege(客户端)是透明的。
例如,CA 证书文件名为 my-ca.crt
:
-
将
my-ca.cert
上载到 Linux 计算机并运行sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/
命令。这将将 CA 复制到可信 CA 存储中。 -
运行以下命令以更新可信 CA 存储。
sudo update-ca-trust extract
或者如果您使用的是 Oracle Linux 9,
sudo update-ca-trust
-
运行以下命令以验证安装。
openssl verify /etc/pki/ca-trust/source/anchors/my-ca.crt
列出所有可信证书。
trust list | grep "my-ca"
-
现在,当 Siege 通过 HTTPS 连接到 OCI 负载平衡器时,它将能够验证收到的证书。我们使用
www.fwtest.com
作为通用名称 (Common Name,CN) 和主体替代名称 (Subject Alternative Name,SAN)。由于我们未使用专用 DNS,因此只需将以下条目添加到您的 Linux 文件
/etc/hosts
文件中:LB 专用 IP www.fwtest.com
例如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4\ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6\ 192.168.4.99 linux9-siege-intravcntest-v2.siegesubnet.vcn1inter.oraclevcn.com linux9-siege-intravcntest-v2\ 192.168.6.237 www.fwtest.com <--- Add this entry
-
要获取负载平衡器专用 IP,请导航到网络、负载平衡器、负载平衡器,然后单击负载平衡器详细信息。
-
如果要测试 TLS 连接(包括之前安装的 OCI 负载平衡器服务器证书),请运行以下命令:
openssl s_client -connect www.fwtest.com:443 -tls1_2
你会得到类似的东西:
-
使用随机 HTTP 标头大小对 250 个并发 HTTPS 客户端 Siege 进行首次测试。
siege -c 250 -t1m --header="User-Agent: $(head -c 500 </dev/urandom | base64)" https://www.fwtest.com/request.php
Lifting the server siege...\ Transactions: 237238 hits\ Availability: 100.00 %\ Elapsed time: 60.79 secs\ Data transferred: 192.67 MB\ **Response time: 27.81 ms**\ **Transaction rate: 3902.58 trans/sec**\ **Throughput: 3.17 MB/sec**\ Concurrency: 108.51\ **Successful transactions: 237421**\ Failed transactions: 0\ Longest transaction: 440.00 ms\ Shortest transaction: 0.00 ms\
现在,在不使用 OCI WAF 的情况下运行相同的命令。
Lifting the server siege... Transactions: 238843 hits\ Availability: 100.00 %\ Elapsed time: 60.54 secs\ Data transferred: 193.98 MB\ **Response time: 17.97 ms**\ **Transaction rate: 3945.21 trans/sec**\ **Throughput: 3.20 MB/sec**\ Concurrency: 70.88\ **Successful transactions: 239018**\ Failed transactions: 0\ Longest transaction: 540.00 ms\ Shortest transaction: 0.00 ms\
OCI WAF 的性能影响(围困基准)
关键度量比较:
度量 | 使用 OCI WAF | 无 OCI WAF | 影响 |
---|---|---|---|
事务处理 | 237,238 | 238,843 | -1,605 (-0.67%) |
可用性 (%) | 100.00 | 100.00 | 未更改 |
已用时间(秒) | 60.79 | 60.54 | +0.25s |
传输的数据 (MB) | 192.67 | 193.98 | -1.31 MB (-0.68%) |
响应时间(毫秒) | 27.81 | 17.97 | +9.84 米 (+54.8%) |
事务处理速率(事务处理/秒) | 3,902.58 | 3,945.21 | -42.63 每秒的事务处理数 (-1.08%) |
吞吐量(MB/秒) | 3.17 | 3.20 | -0.03 MB/秒 (-0.94%) |
并发 | 108.51 | 70.88 | +37.63(OCI WAF 高出 53.1%) |
意见和主要要点:
-
增加响应时间:
- OCI WAF 为每个请求增加了 9.84ms 的延迟(增加 54.8% )。
- 这是启用 OCI WAF 的重大影响。
-
吞吐量略低:
- 使用 OCI WAF 时: 3.17 MB/sec ;不使用 OCI WAF 时: 3.20 MB/sec (减少 0.94% )。
- OCI WAF 的带宽损失很小,在 60 秒内约为 1.31 MB 。
-
使用 OCI WAF 实现更高的并发性:
- 并发性从 70.88 跳转到 108.51 ,这意味着由于 OCI WAF 处理,等待的请求越来越多。
- 这与增加的响应时间一致。
-
对事务处理速率的最小影响:每秒事务处理的下降幅度仅为 1.08% ,相对较低。
小结
-
OCI WAF 为每个请求增加了 +9.84ms 的延迟。
-
吞吐量和事务处理速率可看到 ~1% 次小幅下降。
-
OCI WAF 的并发性要高得多,这意味着由于处理开销,等待的请求越来越多。
-
如果安全是优先事项,那么 OCI WAF 的成本是合理的。禁用 OCI WAF 可能会稍微缩短延迟,但 OCI 的影响极小,仅应在极少数情况下考虑超低延迟。
Note: The test results obtained using Siege depend highly on various factors, including network conditions, hardware/software configurations, and software settings specific to your environment. As such, these results may differ significantly from those in other environments. Do not use these results to make any definitive conclusions about the expected performance of your network or equipment. They should be considered as indicative rather than absolute measures of performance.
相关链接
确认
- Authors — Luis CatalánHernández(OCI 云网络专家和多云)、Par Kansala(OCI 云网络专家和多云)、Sachin Sharma(OCI 云网络专家),
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Measure Oracle Cloud Infrastructure Web Application Firewall Latency Impact on Oracle Cloud Infrastructure Load Balancer
G31153-02
Copyright ©2025, Oracle and/or its affiliates.