seo动态

当前位置: 首页 > seo动态 > 【大型网站如何优化】大型网站性能优化的灵魂与关键

【大型网站如何优化】大型网站性能优化的灵魂与关键

来源:建站公司发布时间:2021-04-28 17:40:56

本文将讨论一个大型网站的一个重要元素,性能。

有人说,性能是访问速度,这是直观的说法,也是用户的真实体验。用户可以看到网页从输入网址到按回车键的速度,这就是性能。对我们来说,我们需要挖掘这个过程,因为它决定了我们如何进行性能优化。

用户访问网站的全过程:用户输入网站域名,通过DNS解析找到目标服务器的IP地址,通过Internet请求数据到达目标服务器,目标服务器接收请求数据并进行处理(执行程序、访问数据库、文件服务器等)。经过处理后,响应数据通过互联网返回给用户的浏览器,浏览器获取结果并显示给用户。

我们将整个过程分为三条路径:

一、

在这个路径中花费的时间包括输入域名以启动请求的时间和在浏览器收到响应后计算呈现的时间。

输入域名以启动请求。实质性进程如下:

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

metahttp equiv=“x-dns-prefetch-control”content=“开”/

浏览器呈现要计算的数据的过程:

从这个过程中,我们可以找到许多可以优化的东西。首先,我们可以尽可能的控制页面大小,这样浏览器的解析时间会更短;我们可以合并压缩多个CSS文件和JS文件,减少文件下载的次数和大小;另外,我们应该注意把CSS放在页面前面,JS访问页面,这样可以先渲染页面,然后执行JS脚本,这对用户来说是更好的体验。我可以设置浏览器缓存,下次访问时从缓存中读取内容,并减少HTTP请求。

metahttp equiv=“缓存控制”content=“年龄=5”/

此代码表示浏览器已启用缓存,5秒后将不再访问服务器。请注意,需要结合您的业务功能适当配置缓存设置。

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

CSS样式放在HTML前面并合并。

二、

整个过程如下:用户发送请求数据(upload),web服务器接受请求数据(download),web服务器返回响应数据(upload),用户接受响应数据(download)。对于用户,上传数据较小(URL参数),而下载数据较大(响应数据);对于服务器,下载数据较小(URL参数),上传数据较大(响应数据)。理解了这一点,我们可以解释为什么有时候用户反映自己的带宽是足够的,但是打开一些网站还是很慢的,因为虽然用户下载很快,但是网站服务器的上传速度很慢,就像抽水管和出水管一样。无论抽水管有多大,出水管都很小,同样的水量是有限的。了解了这一原理,我们可以看到如何提高数据传输的速度。首先,我们无法决定用户的上传和下载速度。我们能决定的是网站服务器的上传和下载速度,所以我们能做的就是适当增加服务器带宽(带宽非常昂贵,盲目增加只会增加不必要的成本)。需要根据业务特点、网站规模和运维人员的经验选择合适的带宽。一般来说,可以考虑的算法,即根据主响应数据的大小,乘以PV的个数,再除以相应的峰值时段,就可以大致估计出网站的带宽需求。

三、

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

这是我们玩的地方:

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

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

Memcached实现分布式缓存。缓存服务器之间没有通信。也就是说,我们可以通过添加memcached服务器来轻松地扩展系统。

使用同步请求模式,在高并发的情况下,会给数据库带来很大的压力,也会让用户觉得响应时间太长。异步请求模式可以快速响应用户,而特定的数据库操作请求通过消息队列服务器发送到数据库服务器进行特定的插入操作。插入操作的结果将以其他方式通知客户端。例如,在订票系统中,出票行为是异步完成的,终的出票结果将通过电子邮件或其他方式通知用户。

大型网站的海量数据读写给磁盘带来巨大压力。系统的瓶颈是磁盘的读写。考虑使用磁盘阵列和分布式存储来提高存储性能。

以上分析用户访问网站的过程,思考如何提高用户感知性能。对于用户来说,性能又快又慢。但对我们来说,这不能简单描述。我们需要量化它,并使用一些数据指标来衡量它。这里有几个术语:响应时间、并发性、吞吐量。

响应时间:从用户发送请求到接收响应数据的时间;

并发性:系统可以同时处理多少个用户请求;

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

为了理解这三个概念,我们以高速公路收费站为例:响应时间是指车辆通过收费站的时间,即车辆进入收费站、缴费、开门、离开收费站的时间;同时性是指收费站可以同时通过多少辆车,可以理解为收费站的出口数量。吞吐量指的是这个收费站在一段时间内能提供多少辆车。

本文通过用户访问网站的过程,分析了在三条路径过程中提高性能的思路和方法。介绍了系统的性能指标,并对系统的性能测试进行了简要的描述。


扫码咨询