三个路径过程中提高网站性能的想法和手段

什么是性能?

有人说性能就是访问速度快慢,这是最直观的说法,也是用户的真实体验。 一个用户从输入网址到按下回车键,看到网页的快慢,这就是性能。 对于我们来说,需要去挖掘这个过程,因为这决定我们怎么去做性能优化。

这中间发生了什么?

用户访问网站的整个流程:用户输入网站域名,通过DNS解析,找到目标服务器IP,请求数据经互联网达到目标服务器,目标服务器收到请求数据,进行处理(执行程序、访问数据库、文件服务器等)。 处理完成,将响应数据又经互联网返回给用户浏览器,浏览器得到结果进行计算渲染显示给用户。

我们把整个过程,分为三段路径:

1、第一段在用户和浏览器端,主要负责发出用户请求,以及接受响应数据进行计算渲染显示给用户;

2、第二段在网络上,负责对请求数据、响应数据的传输;

3、第三段在网站服务器端,负责对请求数据进行处理(执行程序、访问数据库、文件等),并将结果返回;

第一路径

第一路径花费的时间包括输入域名发起请求的时间和浏览器收到响应后计算渲染的时间。

输入域名发起请求,实质过程是:

1、用户在浏览器输入要访问的网站域名;

2、本地DNS请求网站授权的DNS服务器对域名进行解析,并得到解析结果即IP地址(并将IP地址缓存起来)。

3、向目标IP地址发出请求。

从这个过程我们可以看到,优化的地方主要是减少DNS解析次数,而如果用户浏览器设置了缓存,则再第二次访问相同域名的时候就不会去请求DNS服务器,直接用缓存中的IP地址发出请求。 因此这个过程主要取决于浏览器的设置。 现在主流的浏览器默认设置了DNS的预取功能(DNS Prefetch),当然你也可以主动告知浏览器我的网站需要做DNS预取:

浏览器将数据进行计算渲染的过程:

1、浏览器解析响应数据;

2、浏览器创建DOM树;

3、浏览器下载CSS样式,并应用到DOM树,进行渲染;

4、浏览器下载JS文件,开始解析执行;

5、显示给用户。

从这个过程,我们可以找出不少可以优化的地方。 首先我们可以尽量控制页面大小,使得浏览器解析的时间更短;并且将多个CSS文件、JS文件文件合并压缩减少文件下载的次数和大小;另外注意将CSS放在页面前面,JS访问页面后面,这样便于页面首先能渲染出来,再执行js脚本,对于用户来说有更好的体验。 最后我还可以设置浏览器缓存,下次访问时从缓存读取内容,减少http请求。

以下是京东商城的HTML简图:

css样式放在html前面,并且进行了合并。

大多数的JS文件放在页尾。

第二路径

第二路径在网络上,花费的时间同样包括请求数据的传输时间和响应数据的传输时间,这个两个时间取决于数据传输的速度,这里我们要讲一个名词“带宽”。 什么是带宽,我们经常说带宽10M,20M是什么意思?我的带宽20M,这意味着什么?

我们知道带宽速度分为上行、下行速度,也就是上传和下载的速度。 带宽20M对于用户来说则是下载速度20M(20×1024×1024比特率),换算成字节20M/8=2.5M。 也就是说20M的带宽下载速度理论可达2.5M/s,而对于家庭用户而言上传速度一般比下载速度小的多,大约是不到十分之一。 而对于网站服务器(企业用户)来说,则不然,一般上行速度等于下载速度。 这也是运营商根据实际需求分配的,毕竟用户的主要需求是下载数据,而不是上传数据。

整个流程从传输方式看就是:用户发送请求数据(上传),网站服务器接受请求数据(下载),网站服务器返回响应数据(上传),用户接受响应数据(下载)。 对于用户来说,上传数据是很小的(Url参数),而下载数据是较大的(响应数据);对于服务器来说,下载数据是很小的(url参数),上传数据是较大(响应数据)。

理解了这个,我们可以解释为什么有时用户反映为什么自己的带宽足够,但打开某些网站仍然很慢,就是因为尽管用户的下载速度很快,但网站服务器的上传速度很慢,这就像一个抽管和一个出水管,不管抽水管再大,但出水管很小,同样抽到的水量是有限的。

了解了这个原理我们来看怎么提高数据传输的速度,首先用户的上传、下载速度我们是无法决定的,我们能决定的是网站服务器的上传、下载速度,所以我们可以做的是适当的增加服务器带宽(带宽是很贵的,盲目的增加只会增加不必要成本)。 购买合适的带宽需要根据网站业务特性、规模以及结合运维人员的经验来选择。 通常可以考虑的算法,即根据一次响应数据的大小,乘以PV数,除以对应的高峰时间段,从而大致估算出网站带宽的需求。

下面我们继续进一步研究第二路径:

上图表示用户访问网站服务器时网络的大致情况,从图上可以看出假设网站服务器从电信网络接入,而用户A作为电信的宽带用户,则可以通过电信骨干网快速的访问到网站服务器。 用户B,用户C作为移动和联通用户需要通过运营商的互联互通经过较长路径才能访问到服务器。

针对这种情况,我们可以采取以下方法来优化:

1、在各运营商发达的地区的IDC(互联网数据中心,可以理解成机房)部署网站服务器,各运营商的用户即可通过各自的骨干网访问服务器。

2、购买代理服务,也就是原来联通用户需要通过联通骨干网——>联通互联互通路由器——>电信骨干网——>网站服务器的过程。 通过代理服务,代理服务器直连到电信骨干网,访问网站服务器。

3、在主要地区城市购买CDN服务,缓存对应的数据,用户可先从最近的CDN运营商获取请求数据。

第三路径

第三路径主要是网站服务器内部处理的过程,当中包括执行程序、访问文件、数据库等资源。

这是对于我们来说最可以发挥的地方:

1、使用缓存,根据需要使用本地缓存或分布式缓存;

2、使用异步操作,这种方式不仅可以提高性能,也提高了系统的扩展性;

3、代码优化;

4、存储优化;

缓存

如果缓存数据较少,可以利用OSCache实现本地缓存:

当缓存数据过多时,利用Memcached实现分布式缓存:

Memcached实现分布式缓存,缓存服务器之间是互不通信的,也就是我们可以方便的通过增加Memcached服务器对系统进行扩展。

异步操作

使用同步请求的方式,在高并发的情况下,会对数据库造成很大的压力,也会让用户感觉响应时间过长。 异步请求方式,则可以快速的对用户做出响应,而具体的数据库操作请求,则通过消息队列服务器发送给数据库服务器,做具体的插入操作。 插入操作的结果则已其他方式通知客户端。 例如一般在订票系统当中,出票行为就是异步完成,最终的出票结果会以邮件或其他方式告知用户。

代码优化

这里就不在详细描述。

存储优化

大型网站中海量的数据读写对磁盘造成很大压力,系统最大的瓶颈还是在磁盘的读写。 可以考虑使用磁盘阵列、分布式储存来改善存储的性能。

性能的指标和测试

上面通过解析用户访问网站的过程来思考怎么提高用户感知的性能,对于用户来言性能就是快和慢。 但对于我们来说,不能这样简单描述,我们需要去量化他,用一些数据指标去衡量它。 这里讲到几个名词:响应时间、并发量、吞吐量。

响应时间:就是用户发出请求到收到响应数据的时间;

并发量:就是系统同时能处理多少用户请求;

吞吐量:就是单位时间内系统处理的请求数量;

为了通俗的了解这三个概念,我们以高速公路的收费站为例子:响应时间是指一辆车经过收费站的时间,也就是车辆从进入收费站、付钱、开闸、离开收费站的时间;并发量是指这个收费站同时能通行多少辆车,可以理解为收费站的出口数量。 吞吐量是指:在一段时间内,这个收费站通往了多少了车。

这个例子不晓得恰不恰当。

对于性能测试来说,基本也是围绕这些方面来测试,下图说明了性能测试的过程:

左图表示响应时间和并发用户量的二维坐标图,从图上可以看出,并发用户量在一定量增加时,响应时间很短,并且没有太大的起伏,这表示系统目前处于日常运行期,可以很快处理用户请求(A点之前);随着并发量的增加,系统处于请求高峰期,但仍然可以有序的处理用户请求,响应时间较日常有所增加(A、B之间);当并发量增加到一定数量时,超过了系统的负载能力,系统处于濒临崩溃的边缘(B、C之间),响应时间严重过长,直到系统崩溃。

右图表示吞吐量与并发用户量的二维坐标图,可以看出,随着并发用户量的增加,吞吐量逐渐增加;在并发量到达一定量时,由于系统处理能力达到最大,吞吐量增加放缓;当并发量超过系统负载时(E点),系统处理能力开始下降,不能再请求增加的用户请求,吞吐量反而降低。

猜你感兴趣
网购被骗怎么办(网购被骗怎么办不能退钱)

网购被骗怎么办(网购被骗怎么办不能退钱)

1、可以起诉网络交易平台2、消费者可以要求商家赔偿经验步骤:1可以起诉网络交易平台。该条款规定了电商平台的信息披露义务,给了消费者维权的新武器,这正是先进制度设计对消费者权益保护作用的良好体现,消费者应充分利用法律,维护好自己的合法权益...

精选综合 2023-05-12
哪些银行信用卡好办额度又高(哪些银行信用卡好批额度高)

哪些银行信用卡好办额度又高(哪些银行信用卡好批额度高)

银行信用卡审核主要看申请人的资信条件,资信条件越好,办信用卡越容易,额度也越高。如果申请人资信条件相同,选择以下银行信用卡好办额度又高:1、工商银行信用卡比较适合与工行有业务往来的人,在工行有资产,那么,办卡容易,且额度高,卡均额度有4...

精选综合 2023-05-12
磁铁衣服扣子对人体有害吗?(磁铁衣服扣子对人体有害吗)

磁铁衣服扣子对人体有害吗?(磁铁衣服扣子对人体有害吗)

磁铁衣服扣子对人体没有害。因为磁铁衣服扣子比较小,对身体是没有影响的。磁铁的成分是铁、钴、镍等原子,其原子的内部结构比较特殊,本身就具有磁矩。磁铁能够产生磁场,具有吸引铁磁性物质如铁、镍、钴等金属的特性。...

精选综合 2023-05-12
吃灵芝孢子粉大便发黑正常吗?

吃灵芝孢子粉大便发黑正常吗?

吃完灵芝孢子粉之后大便发黑在我们的日常生活中非常常见,实际上每个人吃完灵芝孢子粉之后,身上都会出现类似的现象,这正是表示起了效果,对人的身体健康没有其他的不良影响,灵芝孢子粉本身就是黑色的,就像吃了黑芝麻胡之后大便发黑一样,吃了灵芝孢子粉...

精选综合 2023-05-12
月见草的养殖方法和注意事项(月见草的种植方法和注意事项)

月见草的养殖方法和注意事项(月见草的种植方法和注意事项)

1、月见草的养殖方法:月见草喜光,适合栽培在庭院通风敞亮处,也可以养殖在阳台上,每天吸收太阳光照射。生长期间,每个月施1—2次液肥,生长期施肥以氮肥为主,孕蕾期以磷钾肥为主。2、月见草比较耐旱,但不耐涝,土壤表层见干时要及时浇水,每次...

精选综合 2023-05-12
注塑机调气纹的技巧有哪些

注塑机调气纹的技巧有哪些

注塑机调气纹的技巧有以下:1、模具透明法此法是将射胶时间一秒一秒增加,每增加一秒啤一啤,然后将每一啤未走齐的啤件按顺序排列起来,这样就可以很清楚地看到熔胶的充型过程,直到充满型腔为止。2、定位射胶法此法是将后一级的慢速和压力全部调整为零...

精选综合 2023-05-12
充分必要条件的口诀是什么(判断充分必要条件的口诀)

充分必要条件的口诀是什么(判断充分必要条件的口诀)

充分必要条件的口诀是:正推成立是充分,反推成立是必要。若有A推到B,则B为必要条件,即被推导出来的就是必要条件,不需要把两个一次性全部分辨出来。只要记准那个是必要条件就行了,因为另一个肯定就是充分条件。充分必要条件也即充要条件,意思...

精选综合 2023-05-12
为什么一般两年换手机(QQ为什么换手机登录不上去了)

为什么一般两年换手机(QQ为什么换手机登录不上去了)

原因:随着APP的功能越来越多,需要手机拥有更强大的性能才能流畅使用这些软件,因此需要定期更换手机才能获得最佳的使用体验。手机使用技巧:1、华为p30Pro具有抬手亮屏功能,打开华为p30Pro的系统设置页面,点击智能辅助――手势控制―...

精选综合 2023-05-12
肇事者不报警是全责吗?

肇事者不报警是全责吗?

肇事者不报警不一定是全责,交通事故的责任认定是由交警部门根据交通事故现场勘验、检查、调查情况和有关的检验、鉴定结论进行的。《道路交通安全法》第七十三条规定,公安机关交通管理部门应当根据交通事故现场勘验、检查、调查情况和有关的检验、鉴定结...

精选综合 2023-05-12
道姑的入观条件是什么

道姑的入观条件是什么

一般按要求需要高中以上文凭,但各地收容不一,需要准备身份证原件,当地派出所出具的无案底证明,自己写的出家自愿申请书及父母同意出家的同意书。一般出家考察期3年,如果合格出家,三年后师父会束发,冠巾等等才算是正规道士,正一本身就是散居道人,...

精选综合 2023-05-12
瑞虎5x电池型号是多少(瑞虎5x手动变速箱型号)

瑞虎5x电池型号是多少(瑞虎5x手动变速箱型号)

奇瑞瑞虎5x的电瓶型号有12V,60Ah(常规型号)和12V,70Ah(蓝驱车型)两种,类型为免维护式。汽车电瓶即为我们常说的蓄电池,瑞虎先前车型上的电瓶品牌有风帆的,也有选用骆驼品牌的电瓶。瑞虎5x的电瓶同大多数车型一样位于发动机舱...

精选综合 2023-05-12
中国银行周日上班吗?(中国银行周日上班吗?)

中国银行周日上班吗?(中国银行周日上班吗?)

中国银行周末上班,营业时间一般为8:00(或9:00)-16:30(或17:30),看各地的政府规定及本地城市的大小,自助银行是24小时营业;个人业务周末是不休息的(除了基金和银证业务以及个人贷款业务外),对公业务周末休息。具体到某一家...

精选综合 2023-05-12
洗衣机能放倒来运输吗?(波轮洗衣机能放倒运输吗)

洗衣机能放倒来运输吗?(波轮洗衣机能放倒运输吗)

1、洗衣机能放倒来运输吗?不能。2、因为这样对于缸筒或者滚筒都有伤害的。由于洗衣机有避震器,等于有软连接,所以,放倒后,缸筒会和外壳接触。对于滚筒来说,虽然有运输固定螺丝,但是内筒配重块非常重,而且一端固定在外壳,一端固定在缸筒外壳...

精选综合 2023-05-12
腊肉长蛆虫了还能吃吗?(腊肉长蛆虫了还能吃吗)

腊肉长蛆虫了还能吃吗?(腊肉长蛆虫了还能吃吗)

腊肉里长蛆虫了是不可以吃的,说明腊肉没有处理好,造成有虫卵遗留在腊肉中。腊肉里面长蛆虫说明里面已经可以适应寄生虫的生长环境,若吃了自然也会把寄生虫吃到肚子内造成寄生虫类疾病。...

精选综合 2023-05-12
黑金信用卡额度一般是多少(黑金信用卡要什么条件)

黑金信用卡额度一般是多少(黑金信用卡要什么条件)

黑金信用卡额度一般在200万到1000万之间。很多人认为,黑金信用卡额度没有上限,其实是误解,黑金信用卡的额度一般都在几百万元,而且可以根据持卡人的需求智能调节,但是黑金信用卡额度只能用于合理消费用途,不能作为企业流动资金。另外,有的...

精选综合 2023-05-12
芋艿发青了还能吃吗?(芋艿发黑了还能吃吗)

芋艿发青了还能吃吗?(芋艿发黑了还能吃吗)

芋艿发青了不要吃,因为芋艿发青的青色部分可能含有毒素,所以不能食用。正常成色的芋艿富含蛋白质、钙、磷、铁、钾、镁、钠、胡萝卜素、烟酸、维生素B1、维生素B2、皂角甙等多种成分。...

精选综合 2023-05-12
关于诚信交友的名言名句(关于诚信的名言名句大全)

关于诚信交友的名言名句(关于诚信的名言名句大全)

言必信,行必果。与朋友交,言而有信。人与人之间最大的信任就是关于进言的信任。学而不思则罔,思而不学则殆。人之相识,贵在相知,人之相知,贵在知心。...

精选综合 2023-05-12
转网不换号怎么办理(异地转网不换号怎么办理)

转网不换号怎么办理(异地转网不换号怎么办理)

1、拿起你的手机通过短信在线查询携转资格(短信编辑CCXZ#用户名#证件号码,发送至归属运营商,移动10086,联通10010,电信10001)。2、用户通过短信申请授权码(短信指令:SQXZ#用户名#证件号码,发送至归属运营商,移动1...

精选综合 2023-05-12
铁棍山药麻嘴能吃吗?(铁棍山药麻嘴能吃吗)

铁棍山药麻嘴能吃吗?(铁棍山药麻嘴能吃吗)

铁棍山药麻嘴是可以吃的,只要把山药表面的皮去掉,然后洗干净就是没问题的。铁棍山药中含少量的植物碱,对人身也是有好处的,但有些过敏体质的人会对这种碱性物质过敏,导致食用后嘴里发麻。...

精选综合 2023-05-12
藏南人民用哪国身份证

藏南人民用哪国身份证

藏南人民以实际控制线为界一边用印度的身份证,一边用中国的身份证。事实上,尽管多年来中印边界从未正式划定,但两国人民在长期和平友好相处过程中,按照双方的行政管辖范围,已经形成了一条为两国人民都尊重的传统习惯线。...

精选综合 2023-05-12