压测和性能分析方法论
性能测试基础
性能测试的常见分类
性能测试。用来验证系统的性能是否满足设计的预期,一般来说对系统的压力会比较小,不会压垮系统,只是进行简单的验证。
负载测试。通过不断施加负载压力,寻找系统最优的处理能力,最好的性能状态,达到最大的性能指标。通常说来,负载测试的结果比性能测试的结果高一点。
稳定性测试。可以认为是负载测试的一个子集,长时间不均匀的施压,然后看系统的各项指标是否都正常。
压力测试:是我们常见的,一般我们将压测都是指这个,用来确定系统能够抗住的最大容量是多少,压力测试一般都会压到系统最大能够承受的点,然后得出一个峰值结论。
压测类型和施压模式
压测类型一般分为单服务压测和全链路压测两种压测类型。
而我们常见的施压模式有以下两种:
·并发模式(以用户角度来模拟用户模式)
并发是指并发用户数,从业务角度来模拟同时在线的用户数,从而达到预期的并发量,要计算吞吐的话还需要做个转换。但是在某些场景比较符合场景的预期
· RPS 模式(以请求的吞吐量角度来模拟吞吐模式)
RPS(Requests Per Second)是指每秒请求数。RPS 模式即“吞吐量模式”,通过设置每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力,免去并发到 RPS 的繁琐转化,一步到位。
并发模式与 RPS 模式没有优劣,各自有各自适用的场景。
常用压测工具
常用压测工具如下:
· wrk: https://github.com/wg/wrk
· ab: https://httpd.apache.org/docs/2.4/programs/ab.html
· webbench
性能指标
常见性能指标
业务指标&#x