浏览器中输入URL后加载页面所需时间总结

在浏览器中输入页面url到页面加载完成,可将这个过程分为三个时间段,分别是:

数据在网络上传输的时间
站点服务器处理请求并生成回应数据的时间
浏览器本地计算和渲染的时间

1. 数据在网络上传输的时间

这段时间主要包括两部分,第一是浏览器主机发出的请求数据经过网络到达服务器的时间,第二是服务器的回应数据经过网络回到浏览器端主机的时间。
这两部分时间都可以看作是某一大小的数据从某主机开始发送,直到另一端主机全部接受所消耗的总时间,称为响应时间。
1)决定因素
发送的数据量和网络宽带

2. 站点服务器处理请求并生成回应数据的时间

站点服务器处理请求并生成回应数据的时间主要消耗在服务器端,包括很多的环节,我们使用每秒处理请求数(吞吐率)来衡量。
1)影响服务器吞吐率的因素
服务器的并发策略,I/O模型,I/O性能,CPU核数,应用本身的逻辑复杂度

3. 浏览器本地计算和渲染的时间

这段时间是消耗在浏览器端
1)影响因素
主要有浏览器采用的并发策略,样式渲染方式,脚本解释器的性能,页面的大小,页面组件的数量,页面组件缓存状况,页面组件域名分布,域名DNS解析等。


4. 可以减少这三个时间段时间的方法主要有

1)增加带宽
目标:以提供下载服务为主的站点

2)减少网页中的HTTP请求
设计简单的网页,使用较少的图片和脚本
使用雪碧图
合并JavaScript脚本和CSS样式表
充分利用HTTP中的浏览器端Cache策略,减少重复下载

3)加快服务器脚本计算速度
比如解释器对某个脚本程序第一次解释的时候,将中间代码缓存起来,以供下次直接使用。

4)使用动态内容缓存
可以将动态内容的HTML输出结果缓存起来,在有用户访问的时候可以跳过重复的动态内容计算而直接输出。

5)使用数据缓存

6)将动态内容静态化

7)更换web服务器软件

8)页面组件分离
根据采用不同组件的需求,有正对性的采用不同的并发策略,提供最佳的物理资源

9)合理部署服务器

10)使用负载均衡

11)优化数据库
解决不合理的应用程序数据访问组件设计,不合理的数据库表结构设计等

12)考虑可扩展性

13)减少视觉等待

baishiwen wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!