2-全链路性能测试介绍

1、全线路性能测试演变过程

2-全链路性能测试介绍_第1张图片

2、全链路压测方式

 2-全链路性能测试介绍_第2张图片

压测线上,对服务影响,写数据影响,统计影响,对第三方依赖造成压力,恢复困难

3、阿里双十一隔离方案

2-全链路性能测试介绍_第3张图片

生产环境进行单台机器压力测试的方式主要分为 4 种:

模拟请求:通过对生产环境的一台机器发起模拟请求调用来达到压力测试的目的

模拟请求的实现比较简单,也有非常多的开源或者商业工具可以来做请求模拟,比如 apache ab、webbench、httpload、jmeter、loadrunner。通场情况下,新系统上线或者访问量不大的系统采用这种方式来进行单机压测。模拟请求的缺点在于,模拟请求和真实业务请求之间存在的差异,会对压力测试的结构造成影响。模拟请求的另一个缺点在于写请求的处理比较麻烦,因为写请求可能会对业务数据造成污染,这个污染要么接受、要么需要做特殊的处理(比如将压测产生的数据进行隔离)。

复制请求:通过将一台机器的请求复制多份发送到指定的压测机器

为了使得压测的请求跟真实的业务请求更加接近,在压测请求的来源方式上,我们尝试从真实的业务流量进行录制和回放,采用请求复制的方式来进行压力测试。请求复制的方式比请求模拟请求方式的准确性更高,因为业务的请求更加真实了。从不足上来看,请求复制同样也面临着处理写请求脏数据的问题,此外复制的请求必须要将响应拦截下来,所以被压测的这台机器需要单独提供,且不能提供正常的服务。请求复制的压力测试方式,主要用于系统调用量比较小的场景。

请求转发:将分布式环境中多台机器的请求转发到一台机器上

对于系统调用量比较大的场景,我们有更好的处理办法。其中的一种做法我们称为请求的引流转发,阿里巴巴的系统基本上都是分布式的,通过将多台机器的请求转发到一台机器上,让一台机器承受更大的流量,从而达到压力测试的目的。请求的引流转发方式不仅压测结果非常精准、不会产生脏数据、而且操作起来也非常方便快捷,在阿里巴巴也是用的非常广泛的一种单机压测方式。当然,这种压测方式也有一个前提条件就是系统的调用量需要足够大,如果系统的调用量非常小,即使把所有的流量都引到一台机器,还是无法压测到瓶颈。

调整负载均衡:修改负载均衡设备的权重,让压测的机器分配更多的请求

与请求引流转发的方式类似,最后一种压测方式同样是让分布式环境下的某一台机器分配更多的请求。不同的地方在于采用的方式是通过去调整负载均衡设备的权重。调整负载均衡方式活的的压测结果非常准确、并且不会产生脏数据。前提条件也需要分布式系统的调用量足够大。

你可能感兴趣的:(性能测试,阿里云,云计算)