计算交付窗口所需的有效传输速率,然后测量完整路径。端口容量、往返时间、TCP 行为、存储和应用程序处理都会影响结果。使用具有真实并发性的受控测试,并在选择网络层级之前通过实际应用程序重复测试。
将交付窗口转换为速率
从一定量的有效应用程序数据和可用的交付时间开始。使用十进制单位,在两小时内传输 2 TB 大约需要每秒 278 MB 的有效负载,即 2.22 Gbps,这还未计入协议开销和中断。该算术是规划示例,不是实测的服务结果。
包括重叠的传输。计划导出、客户下载和备份上传即使每月总量看起来不大,也可能共享资源。编写繁忙时段模型,而不仅仅是月平均值。明确哪个方向重要,以及失败的传输必须重新开始还是可以恢复;该行为会影响系统执行的工作量。
将端口容量与有效吞吐量分开
服务器端口描述的是链路容量。有效吞吐量描述的是应用程序在观察到的间隔内交付的数据。加密、协议帧、重传、存储活动和接收端的工作都会占用该路径的一部分。因此,列出的 10 Gbps 端口并不能证明应用程序将持续交付 10 Gbps 的有效负载。
IETF RFC 6349 特别区分了测试网络路径与检查 TCP 性能。在您自己的诊断中使用这种分离。首先确认端点和路由是否合适,然后调查传输和应用程序。增加购买的端口并不能纠正写入数据缓慢的接收端或一次只处理一个请求的应用程序。
理解往返时间为何重要
TCP 控制在确认返回之前可以有多少数据在途。带宽延迟积为此提供了一个有用的尺度:速率乘以往返时间。一个假设的 10 Gbps 路径,往返延迟为 40 毫秒,大约代表 50 MB 的在途数据。这一计算解释了为什么延迟和传输行为属于高速规划的一部分。
结果并不是要应用任意套接字设置的指令。操作系统、拥塞控制、协商窗口和实际路径都会影响行为。在调整之前,验证当前软件文档并检查测量结果。在某些情况下,更多并行连接可能会提高总吞吐量,但它们也可能掩盖应用程序所依赖的单个传输的行为。
构建受控测试矩阵
仅使用您拥有或获授权测试的端点。商定测试窗口和速率,以免该练习干扰正常服务。iperf3 等工具提供可配置的方向、持续时间和并行流;官方文档定义了这些控制项。将版本、端点、路由上下文和设置与结果一起记录,以便其他操作员可以复现。
从单个流开始,然后添加具有代表性的并发。如果应用程序依赖双向,则运行两个方向。这个说明性矩阵将单个头条结果会混在一起的问题分开。当原始结果揭示内部地址或运营细节时,请私下保存,并仅发布决策所需的测量结果。
| 测试 | 它调查什么 | 它不能证明什么 |
|---|---|---|
| 一个传输流 | 单流路径行为 | 聚合应用程序交付 |
| 多个并行流 | 并发和聚合限制 | 一个客户的传输速率 |
| 应用程序传输 | 存储、协议和软件共同作用 | 每个数据集的性能 |
| 繁忙时段重复 | 真实活动下的变化 | 永久吞吐量保证 |
在测试期间观察端点
在两端记录 CPU 使用情况、内存压力、存储活动和错误计数器。没有端点观察的传输结果可能会使真正的瓶颈不可见。检查是否有一个进程或 CPU 饱和而其他进程空闲。避免一次更改多个设置,因为这会使识别哪个调整有帮助变得困难。
将内存支持的测试与读取和写入真实数据的测试分开。前者有助于调查传输路径;后者更能反映应用程序的工作。如果结果差异很大,请检查存储和处理,而不是将内存支持的数字视为交付承诺。当范围明确时,两种测量都可能有用。
使用真实负载测试应用程序
HTTP 导出、加密复制流和文件传输会话具有不同的处理模式。使用具有代表性的文件大小、请求速率和加密设置。当用户等待该步骤时,包括在发送第一个字节之前准备数据所花费的时间。区分首次响应延迟与完成时间,而不是将其中一个报告为另一个。
在足够多的间隔内重复测试以观察变化,并在更改配置之前保留基线。对于假设的 2 TB 导出,将实际完成时间与两小时窗口进行比较,并为中断留出余量。针对观察到的瓶颈选择改进措施,而不是没有理由地增加端口容量。
使用结果选择配置
有用的输出是有证据的资源需求:实测有效负载速率、可接受的完成时间、预期并发量和已知的限制阶段。将 SwissOctet 网络变体与该需求进行比较,包括流量额度和 CPU 及存储规格。仅位置并不能决定到每个接收方的路由或端到端延迟。
在部署后保留测试程序。当数据集增长、软件更改或用户迁移到不同网络时重用它。可重复的基线使性能事件更易于诊断,并为更改配置提供了比孤立的速度测试或宣传的最大值更可靠的理由。
您的实用清单。
- 根据数据量和截止时间计算有效负载速率。
- 对重叠传输和方向进行建模。
- 商定获授权的测试端点和限制。
- 比较单流、并发和应用程序测试。
- 测试时观察两端。
- 保留可重复的基线和有用的余量。
重要细节。
更大的 TCP 窗口总能解决传输缓慢的问题吗?+
不能。首先诊断路径和端点。存储、CPU、丢包和应用程序行为可能占主导地位,传输调优必须适合实际系统。
为什么要测试单个流和多个流?+
它们回答不同的问题。聚合容量可能高于单个传输的速率;应用程序的并发性决定了哪个结果重要。
我可以对任何公共服务器运行容量测试吗?+
使用您控制或获准测试的端点。商定持续时间、速率和时间安排,以免测量干扰无关服务。
前往来源。
这些参考资料支持本指南中的技术概念。在更改生产系统之前,请遵循当前文档。
- IETF RFC 6349:TCP 吞吐量测试框架 datatracker.ietf.org
- ESnet:调用 iperf3 software.es.net
由 SwissOctet 提供编辑指导。示例仅作说明。服务规格、可用选项和合同条件必须单独核实。