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

我们托pipe一个专门为多个客户定制的SAAS应用程序。 对于一个特别的客户来说,他们在networking上报告来自不同地点的零星performance问题,尤其是通过我们网站上的表单上传文件。

客户声称他们有“空余的带宽”,而他们的“pipe道”的利用率非常低,所以它必须是我们的应用程序,但是我们的应用程序拥有许多客户端,所有其他客户端的function都可以正常工作。

有趣的是 –

  • 下载(即刚刚访问网站,或下载文件)工作正常。
  • 速度testing表明,他们应该得到1.2Mbps的UP。 所以,一个3MB的文件需要20秒才能上传。 他们的networking需要60多秒。 有时甚至小file upload超过10分钟,或超时。
  • Ping和Traceroute不显示任何exception长的跳跃或响应时间。
  • 他们声称他们使用的其他SAAS应用程序允许他们上传得很好。

两个IT团队正在共同解决这个问题。 我可以向客户要求什么样的数据来开始排除。

似乎我们需要以某种方式衡量所涉及的networking的延迟,甚至在交换机级别,我们需要了解数据包是否在某处丢失,为什么。

我应该从哪里开始? 任何帮助表示赞赏。 我会根据要求提供更多信息

间断的性能问题可能是一个真正的恐怖追查,你可能已经注意到了。 当我攻击这类问题时,我通常会尝试隔离所涉及的各种系统,然后依次检查每个系统:

  1. 要求客户使用“清洁”系统。 没有AV / AM / watch-our-our-employees-are-doing-app-2012。 要求客户在发现不正常行为时进行logging。 (这涵盖了客户端的大部分configuration错误)
  2. 长期(24h +),连续测量客户和客户的链接(如果可能的话)。 ICMP是一个体面的,但不是完美的select。 有很多可以使用的专业工具。 确保你测量大帧,因为pathMTU问题是不正常的,当涉及到糟糕的性能。 (这涵盖了大多数networking错误)
  3. 仔细检查您的操作系统(和虚拟化pipe理程序,如果虚拟化)日志。 性能相关的统计信息要特别小心,如内存使用情况,丢失的networking帧和CPU使用情况。 如果您还没有logging这些,现在开始logging。 有一个比较基准使生活变得更容易。 (这会捕获许多硬件和软件问题)
  4. 正如joeqwertybuild议的那样,要求您的Web服务器和数据库logging任何长时间运行的请求。 (如果问题确实存在于您的应用程序中,可帮助您追踪)