我有一个用Rust编写的网站,你可以找到源代码here,该网站运行在由DigitalOcean主办的纽约市512MB RAM VPS上。
我注意到并且得到了beta测试人员的投诉,有时网站需要很长时间才能加载。我添加了定时器来查看我的代码的哪个函数花费的时间最长,但每个请求都远低于0毫秒。我正在计算中间件组件的持续时间。
我尝试使用Pingdom.com和真实用户监控(RUM)来查看请求是否需要更长时间。有些需要超过15秒才能加载,但是这个延迟问题并不一致。大多数情况下,加载时间远低于0秒。
当我在Safari中观察到使用开发者控制台进入的请求时,我发现请求中有大约350毫秒的延迟,这需要15毫秒。
答案 0 :(得分:1)
一些可能性:
您的应用程序已交换到磁盘
这意味着操作系统认为RAM中的内容比应用程序更好。通常情况下,如果您的应用没有收到任何说,小时的请求。可能不是你的问题。
您的上传内容很尖锐或不存在。
尝试从服务器下载大文件并观看下载速度。
您的网络存在数据包丢失或高延迟
使用运行ping测试几分钟。良好的连接不应该有任何损失,并且延迟的变化不大。这可能是基于你所说的问题。
你的框架很慢
我怀疑这个。您可以通过构建测试应用程序来测试自己,以发送大量本地请求并确保延迟保持较低。
你有一个坏邻居
由于您使用的是VPS,谁愿意超额认购主机,您可能会有一个坏邻居。另一个喜欢耗尽整个物理网络连接到主机或大量CPU的用户可能会伤害每个人。可能有几个用户这样做是为了让主机屈服。
对于数据包丢失和高延迟,您应该向您的提供商投诉并包含显示丢失的测试。 VPS主机通常处于超卖状态,提供商可能无法正确监控主机以重新平衡负载。或者他们可能不会在乎有人抱怨。
答案 1 :(得分:0)
原来是Iron默认的线程数,在这种情况下由于我的1核VPS而为2,所以延迟是因为1个人试图连接到网站而另一个连接仍然是开。