有人能给我提供一些行业指导,说明在正常、无中断、无过载条件下预期的 LAN 可靠性吗?我怀疑有些设备正在阻止或限制我的连接。我有一些代码通过硬件负载平衡器连接到同一数据中心的另一个服务。在我的测试中,每 40,000 个连接中就有一个连接失败。我得到的建议是,十亿个连接失败中有一个是更合理的。我知道 TCP/IP 对物理/电气问题具有一定的容错能力。因此,在正常条件下,也许实际上应该预期 100% 的可靠性。再次重申,我假设没有发生过载。
我使用下面的 PowerShell 命令将问题与我的代码的复杂性以及服务器上的 IIS 隔离开来。此命令对端口 443 执行简单的 TCP 连接测试,而不尝试建立任何 HTTP/HTTPS 连接,仅执行基本的 TCP。它连续进行 50 个连接并暂停 10 秒。我可能会尝试均匀分布它们,以查看 50 个连续连接的爆发是否会激活一些低节流/DOS 预防。欢迎任何其他建议,但我的主要目标是获得权威数字。也欢迎任何网络专业人士对合理数字的意见。
1..120000 | % {1..50 | % {$result=Test-NetConnection example.local -Port 443 -InformationLevel Detailed; if(-not $result.TcpTestSucceeded) {Get-Date >>e:\testnettranscript.txt; $result | Select-Object * >>e:\testnettranscript.txt}}; Start-Sleep 10}
答案1
可靠性从来都不是 100%。
如果您没有搜索过此网络中的故障,则典型的误码率无关紧要。规范可能会说在数十亿中会出现 1 个错误位,但这并不能阻止您的硬件出现故障或软件出现错误。
- 查看 Web 服务器的错误日志和资源利用率。
- 识别路径中的所有防火墙、代理和其他中间件以及它们可能对流量产生的影响。
- 检查路径上的所有接口是否有错误并更换故障组件。
- 执行数据包捕获并查看错误是否出现在以太网帧中或 TCP/IP 堆栈中。
- 发送测试 UDP 数据报来检查问题是否与 TCP 有关。