连接时间都是因为延迟问题吗?

连接时间都是因为延迟问题吗?

服务器问题:我一直在努力提高网站的速度https://www.winni.in我遇到了一个非常奇怪的现象。如果有人能解释一下的话。

我比较了 Winni 和 Snapdeal 的加载时间,发现 Winni 平均需要 450 毫秒的连接时间,而 snapdeal 平均只需要 30 毫秒的连接时间。虽然这两个网站都托管在 AWS 的新加坡地区。我认为这个连接时间是因为延迟,因为如果我从印度或澳大利亚访问 Winni,那么它会下降到 150 毫秒左右或更短,但www.snapdeal.com无论你从哪个地理位置访问 snapdeal(),它始终低于 30 毫秒。

我附上了 Winni 和 Snapdeal 的 pingdom 截图,显示了从纽约测试时的连接时间。AWS 中是否有我们遗漏的可以减少连接时间的东西,还是因为某些服务器配置问题。

Winni 加载时间 Snapdeal 加载时间

Winni 的服务器堆栈是:

  1. EC2 - 新加坡区域 SSD 硬盘 2 核 CPU
  2. Nginx
  3. 雄猫

答案1

延迟对网站性能影响很大,但并非全部原因。页面生成时间是另一个重要因素。HTTPS 需要几次往返才能建立连接,因此延迟可能起着重要作用。HTTP/2 通过为每个服务器建立一次连接并并行传输文件来解决这个问题。

另一个解决方案或解决方法是使用内容分发网络,Snapdeal 就是这么做的 - 他们使用 Akami,这是最古老和最知名的 CDN 之一。我想,它也可能是最昂贵的 CDN 之一。有几十个 CDN 可用 - Max、CloudFront 等。

您可以使用云Flare,这是一个免费的 CDN,与 AWS 配合良好。通常,页面仍会从您的服务器检索,因此第一页的延迟不会下降,但检索静态资源的延迟会下降。您可以拥有 CF 缓存页面,但如果用户可以登录,则不切实际 - 您不希望未登录的用户看到从登录用户的私人会话缓存的页面。使用 CloudFlare 的另一个优点是,如果您允许,他们会自动为您执行 HTTP/2。

无论你从哪里访问,要想达到 30ms 的速度,他们都必须将页面缓存在 Akami 上。在页面缓存方面,Akami 可能比 CloudFlare 免费版更智能一些,例如,如果发送了特定的 cookie 或 POST,则不会缓存它们。他们也可以在多个 Akami 边缘位置上交替使用应用服务器。

我写了一些关于 AWS/Nginx 性能的教程这里。当我有更多时间时,我会在 CloudFlare CDN 上发布最后一部分,但设置起来并不难。

相关内容