让我们面对现实,消费者希望您的网站能够快速加载。在过去一年左右出现了大量的统计数据(我最喜欢的是谷歌研究人员表示,如果它比竞争对手的网站慢250毫秒,用户将会放弃一个网站)。问题是网络体验的性能提升可能是一个怪物。你从哪里开始的?
首先,您必须了解如何衡量绩效。
我们通过一个简单的等式来实现:
RTT x #RTs
这是往返时间(RTT)乘以往返次数(RT)。如果您可以减少等式的任何一侧,则可以减少添加到网站体验的延迟量。请考虑以下情况 - 您的回程时间为200毫秒,需要10次往返才能发送您的网页。这增加了两秒的延迟。两秒钟!这是很多,特别是当用户不想等待超过五秒钟来加载整个网页时。
那么你可以做些什么来改善这个等式的结果呢?
我已经确定了四个“分支”,用于构建更好,更快的网站体验:
1 。调整原点。 第一个方面就是让网络起源更好。这意味着您的网站服务器。更新到SSD。添加更多内存。将网络接口卡提高到千兆位速度。但这不仅仅与硬件有关。它也是关于建立网站服务器的目的。您会惊讶地发现有多少人将软件功能整合到一个盒子网站服务器,数据库服务器,应用程序控制器等等。不要那样做。让你的起源只是一个香草网络服务器。关闭所有不需要的功能。打开持久连接。实现缓存。
2. 使用CDN。 当您提供网络体验时,您将经历所有三英里 - 第一,中,最后。您可以通过增加源服务器的带宽量(以及路由器和交换机的链路容量)来控制第一英里。但你无法控制中间或最后一英里。CDN使您可以卸载交付,以便1)您不必再通过第一英里交付太多,2)您可以“切换”从中间英里到最后一英里的交付更接近最终用户将内容存储在缓存中的网络边缘。当然,动态内容将始终由您的来源提供服务,但在缓存中利用较长的TTL(生存时间)意味着只有您的网页的动态部分才能获得您的来源而不是所有额外的服务东西。通过这样做,你可以从根本上减少那个等式的RTT分量。由于CDN使用持久连接,因此您实际上也可以减少RT的数量。从本质上讲,CDN可以绕过公共互联网上发生的拥塞,为您的用户提供网络体验的“捷径”。但是在用完CDN并注册之前,还应该考虑存储静态对象的位置。缓存未命中时会发生什么?CDN必须将用户请求一直带回原点。如果每天在多个地理区域发生数千次,则可能会破坏使用CDN所带来的延迟节省。您需要查找可以尽可能靠近最终用户存储对象的CDN。在这种情况下,当有缓存未命中时,
3. 优化前端。 构建更好,更快的网站体验的部分问题不仅仅是改进RTT并减少RT的数量。它也与用户的感知有关。这是关于绘画的时间(网页开始加载的速度,以便用户可以与某些内容进行交互)和交互时间(交互元素的显示速度,如菜单项,按钮和视频)。首先要做的是在基于文本的对象(如HTML,CSS,JS,XML等)上启用GZIP(所有现代浏览器都支持GZIP压缩文件)。当然,不要压缩已经压缩的图像和PDF等对象,因为这实际上可以通过添加不必要的计算周期来加剧延迟(首先是压缩然后再解压缩)。接下来要做的是通过订购网页元素以更有效地加载来减少绘画时间。所有浏览器都有不同的方式来订购和加载元素。像FEA(前端加速)这样的解决方案可以根据浏览器动态重新排序元素。第三是提供特定于设备的内容(更多关于第四个内容的内容)。您可以在传入请求标头上使用设备检测脚本来确定哪个浏览器要求内容并提供已针对该设备优化的内容。
4 。地址移动。 最后一个(是的,我知道,三叉戟真的只有三个叉子)都是关于移动的。与桌面浏览器不同,移动浏览器的缓存非常有限(移动Chrome只有32MB)。当您强制这些浏览器加载的数据超过缓存可以处理的数据时,您实际上会使设备更加努力,这反过来会降低整个体验的速度。对于图像尤其如此。在向移动设备提供网站体验时,您应该发送专门为其定制的图像。这意味着以不同方式裁剪和调整图像大小,预加载和使用LQIP等渐进式下载技术。当然,移动交付是一个难题。您可以为它编码,CDN可以通过动态调整来提供帮助,但最终您应该研究您可以选择的选项和图像格式。但提供出色的移动体验不仅仅是图像。您还应该进行TCP优化(调整窗口大小以减少RTT)等调整,并使用小对象和大对象交付策略。请记住,突发数据可以在更少的RTT中提供更小的对象,并且移动无线电针对突发流量进行了优化,因此您应该尝试在大型对象下载期间维护恒定的数据流。
当然,还有很多其他方法可以让您的最终用户更快更好地体验您的网络体验。我的四个爪子绝不是全面的。它们只是作为一个对话启动器,让您考虑改善网站性能的策略。如果你有其他一些技巧,我很乐意在评论中听到它们。
本文地址:
http://www.njanyou.cn/web/2236.html
Tag:
专业服务:
南京网站制作,
南京网站制作公司,
南京网站建设公司
联系电话:025-65016872
上一篇:
商业博客:您需要知道的要点
下一篇:
公司应该做博客吗?