性能测试的时候,测试环境和生产环境如何做差异分析?或者说当测试环境的配置比不上生产环境的时候,至少得达到什么样的条件,才可以做测试,或者说要在指标方面做什么样的处理,才能保证测试的有效性

性能测试的时候,测试环境和生产环境如何做差异分析?或者说当测试环境的配置比不上生产环境的时候,至少得达到什么样的条件,才可以做测试,或者说要在指标方面做什么样的处理,才能保证测试的有效性呢

不一样环境配置之间的性能没有严格的直接换算关系, 压测工具得到的性能指标只会反应当时压测场景下的性能状况。

有一种情形下可以大致推算测试和正式环境的性能比例,就是正式环境采用的是微服务集群的方式,测试环境使用的是与正式环境一样的单节点微服务;这样的架构下,测试环境的性能基本可以认为与正式环境的其中一个服务节点的性能是一致的。

其实这个以前做性能也是思考过这个问题,然后随着年龄以及经历的增长,大概分为几种思路:

  • 第一种:近似推算法。类似于来说,把正式环境的资源在测试环境等比缩小;eg:pro: 8c8g,test:4g4c,那么正式就是测试的2倍,然后测试的性能指标*2 ≈≈ 正式环境的性能指标,这种只能做一种近似推算,但是不同的场景可能结果会有差异;

  • 第二种: 全链路压测。正是由于第一种的缺陷,才会出现这种,这种性能结果就是线上环境的真实数据,但是一个不小心会造成线上事故;

现在一般用加一个线上流量回放,基于第一种场景,换算比率缩放流量。腾讯跟美团都有应用场景。