这种延迟的来源是什么?

时间:2015-02-16 16:56:32

标签: debian server rust vps latency

我有一个用Rust编写的网站,你可以找到源代码here,该网站运行在由DigitalOcean主办的纽约市512MB RAM VPS上。

我注意到并且得到了beta测试人员的投诉,有时网站需要很长时间才能加载。我添加了定时器来查看我的代码的哪个函数花费的时间最长,但每个请求都远低于0毫秒。我正在计算中间件组件的持续时间。

我尝试使用Pingdom.com和真实用户监控(RUM)来查看请求是否需要更长时间。有些需要超过15秒才能加载,但是这个延迟问题并不一致。大多数情况下,加载时间远低于0秒。

当我在Safari中观察到使用开发者控制台进入的请求时,我发现请求中有大约350毫秒的延迟,这需要15毫秒。

2 个答案:

答案 0 :(得分:1)

一些可能性:

  1. 您的应用程序已交换到磁盘

    这意味着操作系统认为RAM中的内容比应用程序更好。通常情况下,如果您的应用没有收到任何说,小时的请求。可能不是你的问题。

  2. 您的上传内容很尖锐或不存在。

    尝试从服务器下载大文件并观看下载速度。

  3. 您的网络存在数据包丢失或高延迟

    使用运行ping测试几分钟。良好的连接不应该有任何损失,并且延迟的变化不大。这可能是基于你所说的问题。

  4. 你的框架很慢

    我怀疑这个。您可以通过构建测试应用程序来测试自己,以发送大量本地请求并确保延迟保持较低。

  5. 你有一个坏邻居

    由于您使用的是VPS,谁愿意超额认购主机,您可能会有一个坏邻居。另一个喜欢耗尽整个物理网络连接到主机或大量CPU的用户可能会伤害每个人。可能有几个用户这样做是为了让主机屈服。

  6. 对于数据包丢失和高延迟,您应该向您的提供商投诉并包含显示丢失的测试。 VPS主机通常处于超卖状态,提供商可能无法正确监控主机以重新平衡负载。或者他们可能不会在乎有人抱怨。

答案 1 :(得分:0)

原来是Iron默认的线程数,在这种情况下由于我的1核VPS而为2,所以延迟是因为1个人试图连接到网站而另一个连接仍然是开。