性能分析的思路

  1. 瓶颈的精准判断;
  2. 线程递增的策略;
  3. 性能衰减的过程;
  4. 响应时间的拆分;
  5. 构建分析决策树;
  6. 场景的比对。

1、瓶颈的精准判断

做性能分析的时候,我首先应该确定是否存在瓶颈,那么怎么去判断呢,TPS曲线就可以告诉我们了。

TPS能够告诉我们的事情

1、有没有瓶颈:其实准确说所有的系统都有性能瓶颈,只看我们在哪个量级在做性能测试了。

2、瓶颈和压力有没有关系:TPS 随着压力的变化而变化,那就是有关系。不管压力增不增加,TPS 都会出现曲线趋势问题,那就是无关。

最后TPS 是用来判断容量有多大的,可以告诉我们系统有没有瓶颈(用来判断容量有多大的),而响应时间是用来判断业务有多快的。

2、线程递增的策略

对一个系统来说,如果仅在改变压力策略(其他的条件比如环境、数据、软硬件配置等都不变)的情况下,系统的最大 TPS 上限是固定的。所以线程并不是越多越好,应该使用递增的策略逐步增加线程,来定位瓶颈在哪里。

说到秒杀场景,并不是直接用大线程并发,因为即使线程数增加得再多,对已经达到 TPS 上限的系统来说,除了会增加响应时间之外,并无其他作用。

3、性能衰减过程

只要每线程每秒的 TPS 开始变少,就意味着性能瓶颈已经出现了。性能瓶颈其实会在最大 TPS 之前出现。根据我们的场景目标,如果我们只是为了得到最大TPS,在性能开始衰减的时候,就可以停止场景了。如果为了让瓶颈更明显,只要不报错我们就可以继续压。

4、响应时间的拆分

在判断了瓶颈之后,我们需要找到问题出现在什么地方。在压力工具上看到的响应时间,都是经过了后端的每一个系统的。响应时间变长,我们就去判断,它在哪个阶段时间变长了。就需要我们拆分时间了。

5、构建分析决策树

再然后,最重要的地方到了,我们要逐步构建自己的分析决策树。随着性能分析经验的累加,我们需要整理并总结每次遇到的性能问题以及相对应的解决方法,同时我们还要不断扩充自己的知识库:系统架构、操作系统、数据库、缓存、路由等等,并将这些知识与经验结合起来。重新梳理,由大到小,由宏观到细节,去画出自己的分析决策树。

6、场景的比对

当我们刚开始进行性能分析,没有思路的时候,那就可以通过这种替换法来帮助我们快速定位问题。当然,这种方法比较适合简单的系统,如果系统很复杂,这样替换不一定方便了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值