/catalog/8c20a890c29547bb9d2b11c1e90556f9//catalog/a84bd1ce15ce477988eb1f186af1c5a6//Document/269499107774533.html/catalog/b4ab5bd4dfc943d5a3936e0b59fd3cd1//Document/287564821766213.html/Document/287211232673861.html/Document/286932191875141.html/Document/286475571720261.html/Document/285370483953733.html/Document/285096802934853.html/Document/282332783972421.html/Document/281913457070149.html/catalog/e13529ce4d89402683b7df8ee1f2b24e/

全链路测试与传统压力测试的技术差异

前面的文章中我们为大家介绍了全链路测试要测试的内容与如何进行场景分析,本文我们一起来看一下全链路测试会用到哪些技术,与传统压测有哪些不同?


传统压测是单实例、单系统,而我们刚才分享的案例,都是集群部署的,包括硬件的设备也都是集群部署的,所以会用到压测集群、流量引擎和录制回放这些。

压测环境方面,全链路压测我们一般会拿生产环境的一半资源,或者直接拿上线后的环境去压测。很多系统测试我一般会拿准生产环境来压测,上线前把各种问题模拟出来。当然并不是上线前所有的场景我都一定要都梳理出来,也碰到过有异常的情况不好模拟的情况。


环境的差异主要在于传统压测比较简单,在单一的接口、单一的服务器环境下进行压测就好了。但是全链路压测的环境就要求高了,构建环境的成本大,需要完全真实的环境,这样才能保证压测结果真实可靠。


整个测试过程中需要覆盖哪些东西,需要把你的担忧和想法梳理成一种需求分析。然后跟项目组的技术人员进行讨论,怎样去把场景模拟出来,怎样去落地,怎样去测试,怎样去监控,怎样去配合。在这个过程中就将整个场景的核心链路和场景都覆盖到了。

在测试结果方面,传统压测的单机结果可靠性在80%左右,不是不可靠,只是数据维度比较小。全链路测试虽然代价比较高,但是它是完全模拟的真实的硬件和环境,整个过程中他的服务器的资源和QPS的可靠性要高,问题的可度量性和维度就更高了。

知道了他们之间的差异性,我们就可以跟领导表明,全链路的代价高,但是能解决哪些问题,针对业务复杂性比较高的系统,像政府政务系统、公安、银行、电商、打车系统等这些复杂度比较高的系统,就需要用到全链路测试。

这些系统的业务复杂性高,面对海量数据的冲击,整个链路的可用性、扩展性和容错性等问题就会出现,我们要解决这类问题。

就像有些地方的健康码,有时候会突然展现不出来,疫情期间会突然出现高并发的情况,系统本身具备集群部署的能力的话,通过云存储的方式扩容、扩展,可以将现有的突发问题解决掉。很多性能问题太突发了,来不及做也没问题,有扩展性的话,就可以把这个问题规避一部分、缓解一部分,然后再慢慢优化调整就可以了。

 

接下来的文章会继续为大家介绍全链路测试的环节有哪些?有哪些方式?会用到哪些工具?欢迎大家继续关注。