Loading

使用 ping 和 traceroute 解决网络性能问题

发布日期: Sep 13, 2022
描述

如果尝试连接到 Salesforce 并遇到变慢或延迟问题,本文章将向您介绍如何运行 Ping 和 Traceroute,隔离应用程序变慢的根源。在对怀疑网络是根源的性能问题进行故障排除时,Salesforce 将要求您运行 Traceroute 并与我们共享日志。

解决方案

初始故障排除:

如果尝试连接到 Salesforce 并遇到变慢或延迟问题,本文章将向您介绍如何运行 Ping 测试和 Traceroute,查找变慢的根源。在对网络问题进行故障排除前,我们建议检查一些区域,确保这不是已知问题,并且正在进行解决。

1.检查 Trust

对于这些情况,您始终应做的第一件事是检查 status.salesforce.com。Trust 中的 Salesforce 状态页面将报告影响实例的任何正在发生的事件和维护活动。除了 Salesforce 活动外,如果与 ISP 协作解决任何网络问题,我们偶尔也会发布常见状态消息。

2.询问同事

检查整个团队是否也遇到相同级别的性能问题,以及是否找到缓解此问题的任何方法。例如,您经常使用硬线连接,但同事使用 WiFi,但他们未遇到此问题。此外,如果贵公司有多个办公室或远程员工,请尝试与他们确认,自己的情况是否更好?团队在所有组织(含 Sandbox)中是否遇到相同的性能体验?如果其中任何一种情况适用于此问题,您很可能遇到网络问题,而非特定于 Salesforce 的问题。


 

在 Microsoft Windows 中执行 Traceroute 和 Ping

1.在 Windows 任务栏上,单击开始按钮 | 选择运行
2.在文本框中键入 cmd
3.单击确定。系统将出现 DOS 窗口。
4.在 DOS 窗口中,键入以下内容并按 Enter 键:

tracert login.salesforce.com

5.要发送 100 个 Echo Ping 请求,键入以下内容并按 Enter 键:

ping -n 100 login.salesforce.com

6.重复步骤 4 和步骤 5,并使用您的实例替换 URL。例如:

tracert na1.salesforce.com
ping na1.salesforce.com

鉴于 Windows Tracert 命令仅是时间点的网络快照,我们建议多次运行命令,确保收集的数据采样质量较好。在完成此过程后,获取命令输出的屏幕截图,或将结果复制并粘贴到文本编辑器或回复电子邮件。如果您向内部网络团队或 Salesforce 支持提交个案,这些日志将有助于找出潜在网络问题的来源。

在与机器通信时,Salesforce 将传输各种大小的数据包。如果已按以上内容成功完成基本 Traceroute 并对 salesforce.com 进行 Ping,请按这些说明运行范围更广泛的数据包传输测试。

1.在 Windows 任务栏上,单击开始按钮 | 选择运行
2.在文本框中键入 cmd
3.单击确定。系统将出现 DOS 窗口。
4.在 DOS 窗口中,键入以下每项内容(一次一项),并按 Enter 键。
注意:在输入下一个命令前,允许每个命令完全处理。在所有步骤中,1200、1300 和 1400 之前的字符是小写字母“dash L”。
 

ping -f -n 25 -l 1200 login.salesforce.com
ping -f -n 25 -l 1300 login.salesforce.com
ping -n 25 -l 1400 login.salesforce.com

5.重复步骤 5,并使用您的实例替换 URL。例如:

ping -f -n 25 -l 1200 na1.salesforce.com
ping -f -n 25 -l 1300 na1.salesforce.com
ping -n 25 -l 1400 na1.salesforce.com

在全部完成后,获取命令输出的屏幕截图;或者,将结果复制并粘贴到文本编辑器或回复电子邮件。
 

在 macOS 中执行 Traceroute 和 Ping

Apple 的 macOS 具有 traceroute 功能,这可以使用终端应用程序和 GUI 以及网络实用程序(每个 macOS 版本随附)通过命令行进行访问。
 

使用 Terminal.app 进行 Traceroute

1.使用 Terminal.app,打开终端会话。
2.运行这些 Traceroute 命令:
 

traceroute login.salesforce.com

traceroute yourinstance.salesforce.com

 


3.将结果复制并粘贴到文本编辑器或回复电子邮件。

使用网络实用程序进行 Traceroute

1.打开 Network Utility.app(位于实用程序文件夹下方)。
2.单击 Traceroute
3.首次,输入登录.salesforce.com,第二次输入 yourinstance.salesforce.com
4.单击跟踪
5.将结果复制并粘贴到文本编辑器或回复电子邮件。

注意:要对 Live Agent 服务器运行 Traceroute,使用以上步骤,指向 Live Agent 服务器,而非指向 Salesforce 实例 URL。通过转到设置并在快速查找中键入“Live Agent 设置”,您可以找到 Live Agent 服务器。您将看到端点 URL,并与“https://d.la1w1.salesforceliveagent.com/chat/rest/”相似。移除“https://”和“/chat/rest/”,然后仅对地址的“d.la1w1.salesforceliveagent.com”部分运行 Traceroute。

 

解释 Ping 结果

Ping 的输出与对以下 na17.salesforce.com 进行 Ping 的示例相似:

回复来自 96.43.151.188。 Bytes=32 Time=104ms. TTL=242
回复来自 96.43.151.188。Bytes=32 Time=104ms.TTL=242
Reply from 96.43.151.188.Bytes=32 Time=104ms.TTL=242
回复来自 96.43.151.188。Bytes=32 Time=104ms.TTL=242
回复来自 96.43.151.188。Bytes=32 Time=104ms.TTL=242

96.43.151.188 的 Ping 数据统计:
数据包:已发送 = 100,已收到 = 100 丢失 = 0(丢失 0%),
大约往返次数(以毫秒为单位:
最小 = 104ms,最大 = 107ms,平均 = 104ms 

以上结果显示了没有数据包丢失的快速连接。问题的迹象包含:

  • 数据包丢失 10% 或更多。以上示例丢失 0%。
  • ​​​​​​最小、最大和平均往返时间 (RTT) 之间的差异。对于以上示例,最小 RTT 是 104ms,最大是 107ms,平均是 104ms。这些结果表示,在捕获 Ping 的时段内,延迟几乎没有任何变化。但如果结果改为显示最小 100ms 和最大 500ms,这表示存在延迟问题,从而使连接间歇性降级。

解释 Traceroute 结果

Traceroute 将显示计算机访问 Salesforce 的网络路径中每个跃点的性能统计数据,从而帮助找出可能出错的位置。
 

Traceroute 术语

  • 跃点数:从发件人到目的地的路径中的特定跃点数。
  • 往返时间 (RTT):数据包到达跃点和返回所需的时间,以毫秒 (ms) 显示。默认情况下,Tracert 会向每个跃点发送 3 个数据包,因此输出会列出每个跃点的 3 个往返时间。有时,RTT 也称为延迟。影响 RTT 的潜在重要因素是跃点之间的物理距离。有关 RTT 及其影响的更多详细和详实描述,请查看往返时间和带宽对性能的影响文章。
  • 名称:系统的完全限定的域名 (FQDN)。FQDN 会多次提供跃点物理位置的迹象。如果输出未显示名称,未找到 FQDN。如果未找到 FQDN,并非问题的迹象。
  • IP 地址:与名称关联的特定路由器或主机的 Internet 协议 (IP) 地址。

 

Traceroute 的组件

Tracert 输出的第一行描述了命令正在执行的操作。这列出了目标系统 (salesforce.com)、目标 IP 地址,以及将在 traceroute (30) 中使用的最大跃点数。

第一个跃点是流量在离开计算机后发生的初始停止。这可能是 10.X.X.X 编号或 192.168.X.X 编号。这些编号为专用网络保留;在 Traceroute 下游也较为普遍。通常,在贵公司的内部网络中,使用这些地址前缀的路由包含早期跃点。然后,这仅表示流量在退出前正在通过 ISP 的内部网络。
 

找出常见问题

您看到的 3 个数字是到达特定跃点的各个时间。需要注意的是,这些数字不代表当前跃点与前一个跃点之间的时间差,而代表该跃点之前的累积时间。在查看 Traceroute 时,您正在查找时间高度差异的第一个点(例如:50ms、283ms、29ms)或始终晚于前一个跃点的时间。您可能也会看到“*”作为条目。这些表示,未收到服务器的回复。这些并非是问题的迹象,尤其是在访问 Salesforce 后。出于安全或优先级原因,一些网络不回复用于 Traceroute 的数据包。在进入数据中心后,Salesforce 也会执行此操作。如果一个跃点有一次超时,只要可以持续连接,这可能不是问题。需要注意的是,“正常”Traceroute 和 Ping 结果因系统和数据中心的地理位置而异。例如,如果所在地是澳大利亚并连接到美国东部的数据中心,250-300ms 往返时间并不少见,这是因为地理距离;连接必须通过海底电缆物理传输。但从澳大利亚到东京数据中心需要 300ms 往返时间,这并不寻常。

Traceroute 结果显示中间跃点延迟增加,并与一直到目的地的情况相似,但这并不表示网络问题。Traceroute 显示中间跃点延迟显著增加,逐步增加到目的地,这表示潜在网络问题。如果目的地无法访问或在后续跃点中延迟显著增加,多个中间跃点的数据包丢失或星号 (*) 表示可能出现网络问题。通常,延迟保持稳定增加趋势,这表示网络中的两个点之间出现拥塞或问题,并需要一方或多方共同解决该问题。

有关解释 Traceroute 的更多详细信息,请查看此 PDF:
https://major.io/wp-content/uploads/2012/06/RAS_Traceroute_NANOG_slides.pdf
 

星号或“请求超时”消息

如果显示 RTT 的星号 (*),这表示未在预期时间范围内返回数据包。跃点的一或两个星号并非表示最终目的地出现数据包丢失。

在显示 3 个星号时,您将在路径的一个或多个跃点上看到“请求超时”消息。这并非表示网络或 ISP 问题;在大多数情况下,表示这些跃点未优先考虑 ICMP(Ping 和 Traceroute)数据包。

由于目的地可以访问,因此这表示任何中间跃点未丢失转发,连接结束时的一致性和低延迟级别佐证了没有网络问题的结论。

在“请求超时”后,将收到 3 个星号,原因如下所示:

  • ICMP 数据包去优先级。
  • 目的地的防火墙或其他安全设备正在屏蔽该请求。
  • 目标系统的返回路径可能出现问题。请谨记,往返时间测量了数据包从系统到目标系统及返回所需的时间。通常,前进路由和返回路由的路径不同。如果返回路由出现问题,命令输出可能不明显。
  • 该特定系统或下一个系统出现连接问题。
 

奇怪的路由决策

ISP 将持续对网络进行更新,例如调整路由决策和添加新线路,保持网络运行状况良好,并针对特定流量模式进行优化。有时,这些变更会通过非理想路径将请求路由到 Salesforce。例如,如果您从加利福尼亚州访问北美地区的 Salesforce 实例,但在访问应用程序前经由新加坡并返回,您肯定会看到加载时间增加。通过检查跃点名称,您可以找出 Traceroute 中的这些路由问题;ISP 倾向于使用基于位置的信息和 RTT 在 1 个跃点的跨度上出现 100-200 峰值进行标记,即洲际跃点的典型行为。

如果您的位置与数据中心(NAXX 实例为北美地区,APXX 为亚洲地区,EUXX 为欧洲/非洲地区)的区域相同,您偶然发现 Traceroute 出现大量跳跃,您可以转到 [IP address].ipaddress.com,找出发生跳跃的特定 IP 地址的地理位置。如果发现此类问题,请联系 ISP,因为他们控制请求到 Salesforce 的路由。

请与 Salesforce 支持联系

如果无法查明任何网络问题,请将使用以上步骤收集的所有信息发送到 Salesforce 支持,我们将深入调查该问题。除了上述 Traceroute 和 Ping 外,您也需要包含登录访问,重现自己遇到缓慢的步骤、Internet 服务提供商 (ISP) 的名称以及 ISP 是否提供关于延迟的任何见解。


如何确定公共 IP

在与 Salesforce 合作时,向支持工程师提供公共 IP 地址也非常有用。要获取公共 IP 地址,您可以使用 whatismyip.com

知识文章编号

000385480

 
正在加载
Salesforce Help | Article