欢迎访问闪电网!

闪电网

您现在的位置是:闪电网 > SEO建站 >

SEO建站

老板说网站慢,我们总结了三大阶段提升性能

发布时间:2021-07-05SEO建站评论
作者:李平来源:https://www.cnblogs.com/leefreeman/p/3998757.html前言在前一篇随笔《大型网站系统架构的演化》中,介绍了大型网站的演化过程,期间穿插了一些技术和办法,大伙可以从中看出

本文将讲述大型网站中一个要紧的要点,性能。

2、用异步操作,这种方法不仅能够提升性能,也提升了系统的扩展性;

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

<metahttp-equiv="x-dns-prefetch-control"content="on"/>

小结

异步操作

存储优化

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

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

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

这中间出了什么事

一般可以考虑的算法,即依据一次响应数据的大小,乘以PV数,除以对应的高峰时间段,从而大致估算出网站带宽的需要。

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

在前一篇随笔《大型网站系统构造的演化》中,介绍了大型网站的演化过程,期间穿插了一些技术和方法,大家可以从中看出一个大型网站的轮廓,但想要学会设计开发维护大型网站的技术,需要大家一步一步去研究实践。所以我计划写一个系列,从理论到实践讲述大型网站的点滴,这也是一个一同学习的过程,期望自己能坚持下去。系列大概会分为两部分,理论和实践,理论部分尽可能通俗易懂,也要讲一些细则。实践部分会抽取一些技术做实践,将办法、解决问题过程推荐出来。

以下是京东商城的HTML简图:css样式放在html前面,并且进行了合并。

Memcached达成分布式缓存,缓存服务器之间是互不通信的,也就是大家可以便捷的通过增加Memcached服务器对系统进行扩展。

3、第三段在网站服务器端,负责对请求数据进行处置,并将结果返回;

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

本文通过用户访问网站的过程,剖析了三个路径过程中提升性能的想法和方法,最后介绍了描述性能的指标,并对性能测试做了简要说明。

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

第三路径

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

啥是性能

下面大家继续进一步研究第二路径:

这是对于大家来讲最可以发挥的地方:

也就是说20M的带宽下载速度理论可达2.5M/s,而对于家庭用户而言上传速度通常比下载速度小的多,大约是不到十分之一。而对于网站服务器来讲,则不然,通常上行速度等于下载速度。这也是运营商依据实质需要分配的,毕竟用户的主要需要是下载数据,而不是上传数据。

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

整个步骤从传输方法看就是:用户发送请求数据,网站服务器同意请求数据,网站服务器返回响应数据,用户同意响应数据。对于用户来讲,上传数据是非常小的,而下载数据是较大的;对于服务器来讲,下载数据是非常小的,上传数据是较大。

用户访问网站的整个步骤:用户输入网站域名,通过DNS分析,找到目的服务器IP,请求数据经网络达到目的服务器,目的服务器收到请求数据,进行处置。处置完成,将响应数据又经网络返回给用户浏览器,浏览器得到结果进行计算渲染显示给用户。

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

上面通过分析用户访问网站的过程来考虑如何提升用户感知的性能,对于用户来言性能就是快和慢。但对于大家来讲,不可以如此容易描述,大家需要去量化他,用一些数据指标去衡量它。这里讲到几个名词:响应时间、并发量、吞吐量。

响应时间:就是用户发出请求到收到响应数据的时间; 并发量:就是系统同时能处置多少用户请求; 吞吐量:就是单位时间内系统处置的请求数目;

第一路径

假如缓存数据较少,可以借助OSCache达成当地缓存:

左图:表示响应时间和并发用户量的二维坐标图,从图上可以看出,并发用户量在适量增加时,响应时间非常短,并且没太大的起伏,这表示系统现在处于平时运行期,可以非常快处置用户请求;伴随并发量的增加,系统处于请求高峰期,但仍然可以有序的处置用户请求,响应时间较平时有所增加;当并发量增加到少量时,超越了系统的负载能力,系统处于濒临崩溃的边缘,响应时间紧急过长,直到系统崩溃。

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

作者:李平

大部分的JS文件放在页尾。

右图:表示吞吐量与并发用户量的二维坐标图,可以看出,伴随并发用户量的增加,吞吐量渐渐增加;在并发量到达适量时,因为系统处置能力达到最大,吞吐量增加放缓;当并发量超越系统负载时,系统处置能力开始降低,不可以再请求增加的用户请求,吞吐量反而减少。

该代码说明了浏览器启用了缓存并在5秒内不会第三访问服务器。注意缓存的设置需要结合你的业务特质来适合配置。

第二路径在互联网上,花费的时间同样包括请求数据的传输时间和响应数据的传输时间,这个两个时间取决于数据传输的速度,这里大家要讲一个名词"带宽"。啥是带宽,大家常常说带宽10M,20M的意思是?我的带宽20M,这意味着什么?大家知晓带宽速度分为上行、下行速度,也就是上传和下载的速度。带宽20M对于用户来讲则是下载速度20M,换算成字节20M/8=2.5M。

5、显示给用户。

缓存

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

前言

这个例子不知道恰不适合。

当缓存数据过多时,借助Memcached达成分布式缓存:

2、浏览器创建DOM树;

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

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

<metahttp-equiv="Cache-Control"content="max-age=5"/>

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

大家把整个过程,分为三段路径:

出处:https://www.cnblogs.com/leefreeman/p/3998757.html

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

代码优化

1、在各运营商发达的区域的IDC部署网站服务器,各运营商的用户即可通过各自的骨干网访问服务器。

性能的指标和测试

2、当地DNS请求网站授权的DNS服务器对域名进行分析,并得到分析结果即IP地址。

用同步请求的方法,在高并发的状况下,会对数据库导致非常大的重压,也会让用户感觉响应时间过长。异步请求方法,则可以迅速的对用户做出响应,而具体的数据库操作请求,则通过消息队列服务器发送给数据库服务器,做具体的插入操作。插入操作的结果则已其他方法公告推广客户端。比如通常在订票系统当中,出票行为就是异步完成,最后的出票结果会以邮件或其他方法告知用户。

大型网站中大量的数据读写对磁盘导致非常大重压,系统最大的瓶颈还是在磁盘的读写。可以考虑用磁盘阵列、分布式储存来改变存储的性能。

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

知道了这个原理大家来看如何提升数据传输的速度,第一用户的上传、下载速度大家是没办法决定的,大家能决定的是网站服务器的上传、下载速度,所以大家可以做的是适合的增加服务器带宽。购买适合的带宽需要依据网站业务特质、规模与结合运维职员的经验来选择。

3、代码优化;

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

第二路径

这里就不在详细描述,另一篇随笔《如何撰写高水平的JAVA代码》对代码水平和风格做过大致的介绍,感兴趣可以看一下。

1、用缓存,依据需要用当地缓存或分布式缓存;

针对这样的情况,大家可以采取以下办法来优化:

4、存储优化;

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

广告位