为什么需要全链路压测
发布时间:2020-12-22
最近看了篇关于饿了么全链路压测文章,收获颇多。
在整个项目或者应用平台中业务流程,困难在于评估从用户登录到完成全部交易的整个环节中,核心页面和交易关键交易的实际承载能力。如果得到了各个系统的实际承载能力,就可以在路由网关进行相关交易限流控制,来防止在大并发来了以后系统出现宕机服务瘫痪,我们都知道一旦系统宕机就会导致灾难性的后果,而且就算运维短时间重启了起来恢复了运行,但是可能过了一会儿过程系统承载量又出现宕机,早期电商的时候就发生过这样的问题,系统在抢购时,出现大面积瘫痪,重启后又瘫痪,为什么会出现这个问题,就是因为大家对整个全交易链条上的各个环节的系统承压能力不清楚,所以在出现了全链路压测,一方面能够让各个产品知道自己的承压极限在哪?有人会问了通过单系统压测不是也可以知道各个系统的承压能力吗?但是实际情况不可能那么简单,那么顺利,在活动开始的瞬间,从网络优化加速技术、网关接入、UI、缓存、中间件、后台服务、数据库整个交易链路都会面临巨大的访问压力,这个时候系统服务除了受自生的影响,还依赖于其他关联系统的情况,并且影响会一直蔓延,只要有一个节点出现故障,那么故障在上下游系统经过层层累加后会造成的影响谁都说不清楚,所以可靠的办法就是模拟完全的真实情况来做到提前心里有数。提前测试的办法就是让事件提前发生,通过全链路压测就可以提早发现问题。
换个角度来说,也可以让各个系统能够有个明确的优化目标并找出性能测试瓶颈,同时对于一些特殊环节可以通过临时增加公有云的方式来提高整体的性能,一旦通过全链路压测,了解了瓶颈所在就可以坦然的去按照压测指标去申请公有云资源,活动结束后再释放资源,这样做到成本较低化。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。