测量客户端和服务器之间的上传速度

测量客户端和服务器之间的上传速度

我们托管了一款专为多个客户定制的 SAAS 应用程序。特别是对于一个客户而言,他们报告了网络上各个位置偶尔出现的性能问题,尤其是通过我们网站上的表单上传文档时出现的性能问题。

客户声称他们有“多余的带宽”,而且他们的“管道”利用率很低,所以一定是我们的应用程序出了问题,但我们的应用程序有很多客户端,而且所有功能对其他所有客户端来说都运行良好。

有趣的是——

  • 下载(即仅访问网站或下载文档)运行良好。
  • 速度测试显示,他们的上传速度应该为 1.2Mbps。因此,上传 3MB 的文件需要 20 秒。在他们的网络上需要 60 多秒。有时,即使是小文件也需要超过 10 分钟才能上传,或者会超时。
  • Ping 和 Traceroute 没有显示任何异常长的跳数或响应时间。
  • 他们声称他们使用的其他 SAAS 应用程序允许他们顺利上传。

两个 IT 团队正在合作解决此问题。我可以向客户索取哪些类型的数据来开始排除问题。

似乎我们需要以某种方式测量所涉及网络的延迟,甚至在交换机级别,我们需要了解数据包是否在某处被丢弃以及原因。

我应该从哪里开始?任何帮助都非常感谢。我会根据要求提供更多信息

答案1

您可能已经注意到,间歇性性能问题可能非常难以追踪。当我解决此类问题时,我通常会尝试隔离所涉及的各个系统,然后依次检查每个系统:

  1. 要求客户使用“干净”的系统。不要使用 AV/AM/watch-what-our-employees-are-doing-app-2012。要求客户记录他们注意到的异常行为。(这涵盖了客户端的大多数配置错误)
  2. 对到客户端和来自客户端的链路进行长期(24 小时以上)连续测量(如果可能)。ICMP 是一个不错的选择,但并非完美。有许多专门的工具可以使用。确保使用大帧进行测量,因为当性能不佳时,路径 MTU 问题并不罕见。(这涵盖了大多数网络错误)
  3. 仔细检查操作系统(如果是虚拟化的,还包括虚拟机管理程序)日志。特别注意与性能相关的统计数据,例如内存使用情况、丢失的网络帧和 CPU 使用情况。如果您尚未记录这些,请立即开始记录。有一个可以比较的基准会让生活变得轻松很多。(这可以发现许多硬件和软件问题)
  4. 正如 joeqwerty 所建议的,要求您的网络服务器和数据库记录所有长时间运行的请求。(帮助您追踪问题是否确实出在您的应用程序中)

相关内容