网站响应时间过长有什么问题?有哪些解决方案?在完成了HTML5和CSS3的学习之后网站访问时长是未知,很多人不得不独立完成网页制作项目的实践。在这个过程中,有同学发现网页打开很慢,也就是网站响应时间过长。针对这个问题,钱锋老师给大家分享几个比较好的解决方案。
网站响应时间是多少?
网站响应时间是指系统响应请求所花费的时间。在浏览器中输入 URL 并按 Enter 键开始,直到浏览器将网站的内容呈现给用户。网站响应时间越短越好,因为网站页面打开的速度越快,我们的用户访问网站或我们的服务器的速度就越快。我们网站的响应时间一般保持在100-1000ms。页面打开得越快,用户体验就越好。
如何缩短网页的响应时间?
用户请求网站数据时,实际上是发送了一个http请求,宏观上可以分为两部分:http请求到达目标网站服务器之前,http请求到达目标网站服务器之后。
如果要缩短一个网站的响应时间,本质上就是提高数据的返回速度,也就是提高请求数据过程中每一步的速度,可以从以下几个方面来做方面:
1、客户
客户端是发起网站请求的来源,对这个来源应用一定的策略可以大大缩短某些数据的获取时间。最常用的一种是缓存。将一些常用的、很少变化的资源缓存在客户端,不仅可以缩短获取资源的时间,还可以在很大程度上减轻服务器端的压力。
2、DNS
一般网站访问方式使用域名,这涉及到DNS解析速度的问题。如果DNS服务解析速度比较慢,整个流程的响应时间也会增加。客户端发送DNS请求时,本地DNS服务器会先接收到请求,会先在本地查询缓存,看当前域名与IP是否有映射关系,如果有则直接返回IP信息,如果没有网站访问时长是未知,它会询问其他DNS服务器。
3、网络
客户端获取网站IP后,通过网卡发送http请求,目标地址为对应的网站服务器。在这个过程中,如果客户端和服务器中的一个带宽比较小,响应时间就会增加。这个过程的响应时间取决于很多因素,比如路由器的路由策略是否最优、整个过程通过的网关数据量等等。
4、网站
当请求到达网站服务器时,服务器开始处理请求,最后通过查询数据库返回请求的数据。现在有很多场景使用NOsql代替关系数据库来缩短响应时间。一般情况下,关系型数据库在某些场景下的读写速度要比Nosql慢很多。因此,在系统设计的初期,可以考虑。关系数据库和 Nosql 的混合体。
5、缓存
为了避免频繁的数据库查询造成的瓶颈,缓存诞生了。现在流行的设计在网站层和服务层都有缓存策略,但是要缓存的数据和策略不同,但最终目的是加快请求的响应速度。添加缓存后,需要仔细设计数据的一致性。
6、CDN 加速
CDN依托部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,让用户就近获取所有信息。内容,减少网络拥塞,提高用户访问响应速度和命中率。 CDN就是把离用户最近的数据返回给用户。
有些同学认为程序异步可以缩短响应时间。其实这是一种误解,但是程序异步对提高吞吐量有很大的作用。如果你想学习更多的web前端相关技术,可以选择专业的学习方式。