性能调优原理

对于一个软件系统来说,从成本和难易度的角度来说一般的调优顺序如下:

1. 软件平台设置

 通过对服务平台的设置,可以更好地利用硬件资源,在不开销任何成本的情况下提升系统性能。

2. 硬件平台

硬件的调优是最简单的,通过配置测试和基准测试可以很快地确定硬件更新所带来的效果。

3. 代码或SQL语句

通过静态分析得到负载较大的代码或SQL语句,将其进行修改,降低逻辑复杂度及成本开销。

4. 架构或需求

在上述方法都无法完成性能调优时,需要考虑对架构进行一定的调整,由于调整架构所带来的影响和风险非常大,万不得已不会采取该种方法。为了避免出现最终发现性能瓶颈无法修复的问题,在设计初期就应该对架构进行科学的负载和并发测试,确定架构的正确性。

一个静态页面的请求从发送给服务器到服务器返回给本地,由以下两边部分组成:

  • 客户端到服务器段的来回事件损耗;
  • 服务器端的处理时间;

一个HTTP请求从客户端发出去经过服务器处理再返回至客户端,整个过程所需的时间(即响应时间)一般由以上这些部分组成(Blocked、DNS Lookup、Connect、Send、Wait、Receive、TTFB、Network),其中 Wait 是服务器处理业务所消耗的时间,而其他事件都是由网络损失或者别的原因导致的。通过分析可以发现,其实服务器的处理时间占整个响应时间的比重并不是很大,一般只占到用户响应时间的1/6到1/2,这就是为什么在局域网性能测试的时候响应时间一切正常,到了外网测试的时候就会发现响应时间慢了很多的原因。通常访问国外的某个网站慢,并不一定是他们网站的业务大或者处理慢,很多时候是连接到他们服务器的网络慢。

TTFB-(Time To First Byte)

所以,性能分析和定位我们可以分成两大部分:前端性能(网络、渲染)分析和后端性能(服务)分析。

 

猜你喜欢

转载自blog.csdn.net/DaisyCold/article/details/106546908