基于实际的生产业务场景和系统环境,模拟海量的用户请求和数据,对整个业务链路进行各种场景的测试验证,持续发现并进行瓶颈调优,保障系统稳定性的一个技术工程。总的来说,全链路压测基于真实的用户场景,实际线上环境,按照既定流量,对各个业务链路进行压力测试的过程。
全链路压测的原因
传统的压测只会涉及到核心服务,无法覆盖到所有的环节,而传统的压测通常会忽略掉一些基础服务如Nginx、Redis 缓存、数据库、磁盘、网络等,所以这些基础服务问题在单服务压测中往往不能被暴露出来。
全链路压测和传统压测的区别
压测类型 | 传统压测 | 全链路压测 |
---|---|---|
压测方式 | Jmeter、Locust、Loadrunner | 压测集群、流量引擎、录制回放 开源:Takin 阿里:Amazon,PTS 美团:Quake 京东:ForceBOT 高德:TestPG 字节:Rhino |
承接方式 | 需求响应式,被动 | 发现系统所有链路存在的瓶颈点,主动 |
压测环境 | 测试环境/性能环境 | 生产环境 |