网站打开速度是用户体验和SEO营销的重点之一。许多研究证明,超过50%的用户会在网页加载时间超过3秒时关闭网页。打开网站太慢会造成负面的用户体验,增加跳出率,导致你的网站在搜索结果页面的位置很低。SonderCloud恒创科技给大家简单介绍一下网站打开速度依赖于哪些因素,如何提升。
一、影响网站加载速度的因素有哪些?
网站加载速度取决于许多因素。本文重点讨论三点:服务器响应时间、内容特性、内容加载速度和页面渲染。
1.服务器响应时间
当用户打开一个网站时,浏览器向服务器发送一个HTTP请求。在服务器响应这个请求之后,内容将被呈现。发送请求和接收响应之间的时间跨度称为服务器响应时间。
这个术语叫做TTFB,即“第一个字节返回的时间”。用户的视角是:从网站打开到页面开始加载的时间跨度。
服务器响应时间取决于:
服务器负载,即同时打开网站的用户数和同时请求数。请求越多,服务器处理它们的速度越慢。
服务器特性,即服务器是否有足够的容量来承受当前的负载。
和服务器用户位置。服务器和用户之间的距离越远,处理请求和获得响应所需的时间就越长。
与数据库结合使用。如果您的网站与数据库交互,如果数据库位于资源稀缺或功能与当前负载无关的服务器上,这也可能导致高延迟。
2.内容特征和内容加载速度
很容易理解:内容越重,加载时间越长。所以网站上发布的元素越小越好。
然而,在文件大小和质量之间保持平衡是非常重要的。只有几kb的图像加载速度肯定会更快。但是如果它们含糊不清或者包含一些难以区分的元素,可能会对你的在线服务造成不好的印象,从而导致销售额降低。
3.页面渲染
网站由图像、视频、文本内容、图形元素等组成。当页面加载时,所有这些元素都完整地显示在用户的屏幕上。这就是所谓的页面渲染。可以使用各种服务来测试页面渲染速度。
页面呈现速度取决于以下因素:
页面上的元素数量。
元素的加载顺序。
页面布局。
二、如何缩短服务器响应时间
1.优化数据库性能
为了在页面上显示内容,服务器需要调用存储该内容的数据库。缺乏数据库性能优化会增加网站加载时间。如果使用动态内容,就更重要了。在这种情况下,系统不仅需要检索文件,还需要形成客户端应该看到的信息块。
对于有经验的程序员来说,优化数据库性能是一项优先任务。首先要做的事情如下:
优化数据库请求。在使用数据库时,使用EXPLAIN命令来了解哪些请求比较慢,并想办法加快它们的速度。
提前缓存最常见和最相似的请求内容。动态内容网站更需要这项工作。数据库可以返回存储在缓存中的现成数据,而不是一遍又一遍地生成相同的内容。
设置数据库索引。索引字段方便了数据搜索并加快了搜索速度。
2.启用CDN
服务器离用户的位置越远,处理请求和得到响应的时间就越长。如果你所有的客户都在同一个区域,那就没有问题。你只需要租一个附近的服务器。比如你的目标受众都在mainland China,建议选择国产服务器;如果你的目标受众主要是mainland China、东南亚、日韩等地区,建议选择港版服务器,港版服务器同时具备国内和海外高速接入。
但大多数情况下,线上业务的目标受众分散在不同的国家/地区,不可能每个地区都租用服务器。CDN服务器可以解决这个问题。它是大量连接的服务器,从源服务器检索数据,缓存数据并向用户传递信息。CDN服务器通常尽可能靠近最终用户。当用户打开您的网站时,请求被发送到最近的现有点,而不是源服务器。这将减少请求路径和服务器响应时间。
3.降低服务器负载
要减少服务器负载,首先要减少请求的数量。
加载网站时,浏览器需要发送每个页面元素。网站上的元素越少,浏览器需要发送的请求就越少。
因此,为了避免更改页面设计,您可以执行以下操作:
使用CSS sprite技术,通常将分散的背景图像、界面元素和具有相同调色板的图像组合在一起,形成CSS sprite图。当用户访问一个页面时,只需要发送一次请求,页面中的所有背景图片都可以显示出来。在某些情况下,CSS精灵甚至可以减小图像大小,加快内容加载速度。
使用内嵌图像,即使用“dаta: URL”方案的图像。但是,内联图像会增加HTML文件的大小。
将多个记录组放在一起。例如,合并多个CSS或JS文件。如果你有许多沉重的文件,他们的组合将减少服务器的负荷,但不会明显提高网站的性能。
4.将域名放在离客户端最近的DNS服务器上。
在打开网站之前,浏览器需要获取网站的IP地址。域名和IP地址信息存储在DNS服务器中。
当访问者打开一个网站时,浏览器首先向DNS服务器发送请求,并接收必要的IP地址。存储域名和IP地址信息的DNS服务器离目标用户越远,处理请求的时间就越长,从而增加了服务器的响应时间。因此,最好将您的域名放在离您的目标受众最近的DNS服务器上,并选择多个位置的DNS服务,让您平衡服务器负载。
5.选择另一台服务器。
如果你尝试了所有的优化,但是服务器响应时间还是很慢,原因可能是服务器本身。您当前的服务器可能无法应对如此高的负载,因此您需要切换到计算性能更高的服务器。
计算网站正常运行所需的存储量空和RAM,检查当前服务器是否满足这些要求。如果没有,换一个性能更高的服务器包,甚至换其他服务商。如果你的项目正在大规模增长,传统托管服务提供的资源可能并不适合你。可以考虑是把项目转移到云服务器还是私有云或者混合云。
第三,如何提高内容加载速度
页面重量越小,加载速度越快。为了加快您的网站,请将所有文件的大小减到最小。但是请记住,减小文件大小不应该降低文件的质量。建议使用现代数据压缩算法,如Gzip、Brotli和WebP。这些算法提供无损数据压缩。它们在不影响外观的情况下显著减小了元素的大小。当内容发送给用户时,这些算法可以“在途中”压缩文件。
四、如何优化页面渲染
1.将javascript文件放在页面底部。如上所述,应该首先加载最重要的元素。JS文件不被认为是这样的文件。
用户应该看到的第一页内容。在页面完全加载之前,应该先呈现页面的内容。Javascript文件可能很重,所以应该最后加载。
2.隐藏移动版网站不必要的元素。现在用户已经习惯在手机上浏览网站。移动设备的性能弱于桌面PC。当手机上网连接不稳定时,网站加载时间会大大增加。
动词 (verb的缩写)结论
当加载时间超过3秒,超过50%的用户会关闭你的网站。搜索引擎对加载速度快的网站更友好。重要的是如何提高你网站的加载速度。
网站打开速度取决于服务器响应时间、内容加载速度、页面渲染等因素。
要缩短服务器的响应时间,可以优化数据库性能,减少请求数量,将域名放在离客户端最近的DNS服务器上,并启用CDN。如果这没有帮助,现有的负载可能对您当前的服务器来说太高了,您需要选择另一个具有更高计算性能的服务器。
为了加速内容加载,您需要最小化文件大小。建议使用Gzip、Brotli、WebP等数据压缩算法。
为了加快页面渲染速度,将JS文件放在页面底部,并隐藏移动版本网站的不必要元素。