首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何优化3G网络中网页初始连接和SSL握手阶段的加载时间?

如何优化3G网络中网页初始连接和SSL握手阶段的加载时间?
EN

Webmasters Stack Exchange用户
提问于 2016-11-04 17:01:25
回答 2查看 36.7K关注 0票数 14

我的网站www.example.com(启用SSL)托管在亚马逊EC2共享主机上。它在wifi/宽带连接上加载速度更快(加载时间<2秒)。问题是在移动**(H模式而不是H+模式)**的3G网络上。启动连接阶段,SSL握手过程需要大量时间-12秒。通过Chrome选项卡监视时间参数。下面是为网页测量的加载时间。

页面上处理的数据类型:经过测试的网页通过AJAX接收5个键值配对的JSON数据,并将其显示在网页上。它是一个非常轻量级的页面,只有5-6的文本内容。

我见过许多网站在3G移动网络(H模式)上加载速度更快。我的网站在3G网络的初始连接建立阶段太慢了。能否有人协助我解决/优化初始连接阶段的延迟?转移到专用主机会解决目前的问题吗?

Web并不繁忙,而且总是有大量的CPU和内存可用。

服务器配置: Amazon实例-共享主机(32 EC2和60 GB )。Web服务器- Apache。SSL -赛门铁克。

EN

回答 2

Webmasters Stack Exchange用户

发布于 2016-11-04 18:54:35

初始连接

您会发现初始连接包括协商SSL,因此由于握手很高,这是一个很好的指示,说明您设置SSL的方式出现了严重问题。

建立连接所需的谷歌Chrome:理解资源时机时间,包括TCP握手/重试和协商SSL。

SSL握手与TTFB

您有两个主要问题:完成SSL握手的时间和等待TTFB (到第一个字节的时间)的服务器。

  • TTFB: 4079 be (小于1000 be)
  • SSL握手11830 be (应小于100 be)

还应该注意的是,当使用3G/4G设备进行测试时,由于手机信号的强度不同,它可能会导致较长的第一个字节。这可能导致间歇性连接问题和变化的延迟时间。

步骤1:调查SSL问题

很明显,您有一个严重的SSL问题,很可能是由于安装OpenSSL或类似的错误。首先使用SSL实验室测试您的SSL证书,然后纠正它建议的任何问题或警告。

如果SSL仍然运行缓慢,那么您很可能有一个超载的服务器或服务器故障。如果是后者,那么您将需要尝试缩小错误所在。如果在这方面需要进一步的帮助,请使用服务器故障堆栈,即他/她遇到的可能与此无关的一个用户报告说,创建新密钥解决了一个缓慢的SSL问题.

如果负载平衡器存在服务器资源问题,则可以提供帮助。

步骤2:调查TTFB

一旦您已经解决了SSL问题,并且您仍然有一个增加的TTFB,那么您应该通过确保它有足够的资源来测试您的服务器。

第一个字节时间受但不限于:

  • 从用户到承载服务器的数据中心的距离可以增加TTFB。
  • 无缓存GZIP可增加TTFB
  • 拥塞的网络可以增加TTFB
  • 拥塞的服务器可以增加TTFB

有时候,增加CPU和RAM并不总是最好的选择。有时引入负载均衡器会更好,因为这不仅意味着您可以轻松地并行运行多个服务器,而且它实际上可以卸载缓存和SSL请求。其他一些好处包括:

来源

  • 缓存:该设备可以存储不更改的内容(如图像),并直接将其提供给客户端,而无需向web服务器发送流量。
  • 压缩:通过在文件发送之前压缩文件来减少HTTP对象的通信量。
  • SSL卸载:处理SSL流量需要web服务器的CPU,因此负载均衡器可以执行此处理。
  • 高可用性:可以使用两个负载平衡设备,以防其中一个失败。

降低TTFB的提示:

  • 确保您的数据库位于同一个网络上,或者是一个高质量的SQL云上。
  • 确保您的数据库是从内存中读取的,永远不要交换文件!
  • 利用内容发布网络,它可以卸载服务器请求和压缩任务。
  • 利用清漆缓存缓存页面来减少数据库的负载
  • 使用HDParm测试硬盘上的静态文件
  • 使用Apache服务器基准测试工具对服务器进行基准测试
  • 使用WebPageTest对10次传递多个远程位置的网站进行基准测试
票数 11
EN

Webmasters Stack Exchange用户

发布于 2016-11-07 10:29:30

阅读问题的标题,您可以做两件事来加快初始连接和SSL/TLS握手。这些工作对任何连接,而不仅仅是3G,所以你应该使用这些作为最佳实践无论如何。

首先,使用HTTP/2为站点服务。这需要Apache2.4.17或更高版本

其次,将Apache配置为使用OCSP装订。这需要Apache2.3.3或更高版本加上OpenSSL 0.9.8h或更高版本,并在这里提供一个很好的指南来设置它。OCSP装订不会加快速度,但它将为客户端做一些工作,并避免他们尝试OCSP查找的麻烦。

阅读你问题的正文,我认为你的托管环境有一个更大的问题。这些负载时间是不可接受的。您提到它是“共享主机”,您应该与管理共享主机的人联系,并询问他们的服务器为何速度如此之慢。您最好尝试一个不同的共享主机,或者自己运行一个VPS (这是更多的工作,但提供更好的速度和灵活性)。

既然您已经在AWS上了,为什么不使用试试他们的自由层来测试并使您自己的服务器工作和优化呢?使用它与一个子域和一些静态HTML页面进行测试,然后将您的主要站点移到上面(如果需要的话,扩展到超过免费的层次限制)。

票数 8
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/100856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档