大厂如何做压测?完整方案设计 + 避坑指南

01 为什么要做压测

1、什么是压力测试?

不断向被测对象施加压力,测试系统在压力情况下的表现。

2、压力测试的目的是什么?

测试得出系统的极限性能指标,从而给出合理的承诺值或者容量告警;

找出系统的性能瓶颈,对性能做出优化;

测试系统在高负载情况下的稳定性;

验证系统在过载情况下的限流和降级预案;

3、不做压测会产生什么问题?

线上容量评估不准确,流量增加,服务被打挂

升级前没做压测,升级后性能出现劣化,可用性降低;

无法给出准确的承诺值,导致集群水位过低,资源被浪费或者集群水位过高

系统存在稳定性bug;

02 压测方案设计

压测环境可以简单的分为模块级压测和链路级压测,它们的主要特点和区别如下:

1、模块级压测

应用场景:比较变更前后的性能,看性能是否有劣化;定位模块本身的性能瓶颈。

环境要求:不要求与线上环境完全一致,只需要保证变更前后两次的压测在同一个环境即可。

业界方案:维护一套固定的线下环境,进行周期性、常态的压测。

2、链路级压测

应用场景:做整条链路的容量评估;评估系统整体可用性。

环境要求:要求尽量与线上环境保持一致,这样的压测数据才是有借鉴意义的。

业界方案:使用线上环境,根据不同的隔离方式使用不同的方案:

  • 不做流量隔离,压测流量和业务流量共存,由于没有做隔离,只能在低峰期压测

  • 逻辑隔离,通过流量调度或者分流方式,将压测流量打到一个压测环境去。压测流量和业务流量在同一个机房跑,但并不会打到同一个业务实例。

  • 物理隔离,利用异地多活的特性,将业务流量从一个机房切出,留下一个空机房做压测。

第一种方案是最接近线上真实环境的,但是存在着一些安全风险;后两种方案安全性高很多,但是没有完全利用整个线上架构,存在一定程度上的失真

3、线上压测怎么保证安全性?

  • 流量隔离,如上述方法做流量隔离。但是只做流量隔离是不够的,即使是物理隔离,也会对线上数据进行修改,所以还要做数据隔离。

  • 压测流量经过中间件时进行打标,做压测标记,比如http流量可以配置一个特殊的header。

  • 在业务集群对流量标记进行数据隔离,比如对压测流量产生的日志写到另一个路径(有的系统会对日志做一些分析统计);存储/缓存方面将压测流量产生的数据存储到影子表,正常流量访问正常表;

  • 消息屏蔽,如果消息队列无法识别出压测消息,则会造成线上消息堆积,影响线上流量,所以需要对压测消息进行屏蔽。

  • 对不支持压测的第三方服务进行mock。

03 压测模型

压测要覆盖哪些场景?压测请求和数据如何构造?如何模拟业务流量形态?以上三个问题分别对应压测模型中的业务模型数据模型流量模型

1、业务模型

压测需要覆盖哪些业务场景?

需要梳理出核心业务场景,必须包含核心接口和大流量接口,大流量接口可能是一些不对用户暴露的,在内部频繁使用的接口。

如何模拟业务场景?

需要理清楚接口之间的关系。对待一些简单查询的接口,没有前后依赖关系,只需要关注流量配比就行了;对待一些复杂业务场景,则需要还原业务处理流程,理清楚接口串联逻辑。可以通过场景录制和场景回放来梳理。

2、数据模型

基于线上数据进行改造

请求部分可以直接把线上流量录制下来,对请求加压测标记,并对关键id做便宜;铺底数据可以直接将线上存储数据拷贝到另一个压测表。

基于模型构造

通过对线上日志和请求进行分析,梳理出对性能有影响的数据特征和请求特征,根据这些特征构造出数据,其中铺底数据需要通过真实的业务应用来构建。

基于线上数据改造的方式

方案很简单,数据构造快,但是强以来系统现有数据,,无法应对新增场景,模型调整不灵活,适用于老服务的线上压测;

基于模型构造

不强依赖线上数据,可以人工构造新增场景,维护成本低,只需要调接口就行了,不需要感知线上存储表的变化,模型可以灵活调整,但是方案比较复杂,数据构造慢,使用场景比较广泛,线上线下新老服务皆可。

压测模型的特例:流量录制,原样回放

特点:不用模拟业务场景、不需要构造数据;只能录制到线上已有流量的服务和接口;只能在线上环境回放,只能回放只读接口;只适用于老服务读接口的压测;

流量录制可以把低峰期、平峰期、高峰期的流量都录制下来,以免出现漏测的情况。

3、流量模型:模拟业务流量形态

  • 线上有流量

    观察线上流量形态。

    网上绝大部分开源的监控打点都是5s以上的,最理想的情况可以达到ms级别的,可以通过分析日志来进行实现。

  • 线上没有流量

    分析用户行为或者调用方行为。

    常见的业务流量形态可以分为两种,一种是连续递增型,还有一种是脉冲型(比如抢红包)

4、流量预估

流量形态是模拟线上流量曲线,此外我们还需要进行流量预估,计算出压测的量级。

已双十一活动为例,我们可以把接口分为三类:

  • 背景接口

    流量不随活动而变化,压测是仅作为背景流量,取近期峰值即可;

  • 普通关注接口

    流量随活动而变化,用通用模型计算

  • 重宝接口

    比如交易接口,取历史大促的峰值

04 压测结果分析

1、观测指标

系统指标

  • qps/tps,最大tps一定是稳定的,如果存在抖动,那系统已经存在问题。

  • 响应时间,从客户端发起请求到收到请求的全过程时间

  • 错误率,根据sla来定

  • 资源指标

  • cpu利用率,一般要低于80%,avg低于60%比较保险

  • 内存使用率,低于80%比较保险,否则可能陷入GC死亡循环

  • 磁盘吞吐/网络吞吐

  • 特性指标,根据具体业务来定

  • 连接池使用率

  • 消息队列堆积

  • pps

2、仿真度分析:压测结果是否有价值?

比较同等水位下压测场景和线上真实场景服务表现相似度,可进行仿真度分析的指标:

  • 流量,流量比例,接口覆盖

  • 链路覆盖

  • 机器资源,cpu利用率、内存利用率

  • 可用性指标,时延,错误率

  • 业务指标

把这些指标组装成一个向量,和线上指标做比较,二者差异,差异越小,仿真度就越高。

05 压测发展趋势

现有痛点:

  • 需要随时观察监控,需要oncall待命

  • 安全性不足

  • 方案复杂,代价大

未来发展趋势:

  • 智能化

  • 无人值守

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1189690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年莱姆石漆服务商TOP5推荐:莱姆石涂料、液态莱姆石、莱姆石艺术涂料、仿天然莱姆石、莱姆石高端饰面、洞石漆、洞石涂料及专业施工赋能之选 - 海棠依旧大

随着建筑装饰行业对环保性、美学性及耐久性要求的不断提升,优质仿石涂料与专业施工服务已成为高端建筑外墙、室内装饰的核心需求。浙江作为我国建筑装饰产业活跃区域,仿石涂料市场品类丰富、服务商众多,工程方、装修…

纳斯达克100指数基金

纳斯达克100指数作为全球科技成长股的核心标杆,凭借优质成分股集群、长期稳健收益及强抗风险能力,成为跨市场资产配置的重要标的。其相关基金产品覆盖场内ETF与场外QDII,适配不同投资场景,但“无脑定投”存在显著风险。2026年&…

私有化智能升级正当时:2026企业知识库部署厂商本地BI解决方案先锋榜单 - 品牌2025

在数字化转型进入深水区的2026年,数据已成为企业的核心资产。面对日益复杂的市场环境和内部运营需求,如何安全、高效、自主地挖掘数据价值,成为企业决策者必须回答的战略命题。传统的多系统切换导致的数据孤岛、效率…

JMeter分布式压测实施的核心技术要点

01 背景 在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持4000并发),单台压测机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能 02 原理 Jmeter分布式测试时,选择其中一台作为调度…

Spring MVC 面试题

Spring MVC 的工作原理是什么组件作用为什么重要DispatcherServlet 前端控制器(所有请求入口) 统一处理请求,避免重复代码HandlerMapping 查找Controller(根据URL) 决定哪个Controller处理请求Controller 处理业务…

2026商用咖啡机选购指南:商务全自动与咖啡全自动商用设备精选 - 品牌2025

在咖啡消费持续升温的市场环境中,商用咖啡机的选择直接影响门店运营效率与出品品质。无论是咖啡连锁、高奢酒店,还是企业办公区、便利店,一款适配场景的商务全自动咖啡机,能有效降低人力成本、保障口感稳定。本文结…

【大数据毕设全套源码+文档】基于Python的动漫影视数据分析和可视化设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java标识符与关键字

一、Java关键字(保留字) 1. 核心定义 关键字是Java语言预先定义、赋予特殊含义的单词,全部为小写字母,不能作为标识符(变量名、类名等)使用。JDK 8及以上版本共有53个关键字,其中const和goto是保留字(暂无实际…

2026年罗马尼亚亚马逊本土号厂家权威推荐榜:亚马逊欧洲站、塞浦路斯亚马逊本土号、意大利亚马逊本土号、欧洲亚马逊本土号选择指南 - 优质品牌商家

2026正规罗马尼亚亚马逊本土号服务商推荐行业背景与筛选依据据《2026-2026欧洲跨境电商合规发展白皮书》数据,2026年欧洲亚马逊本土账号注册需求同比增长78%。 随着亚马逊欧洲站风控规则持续收紧,卖家面临账号关联、…

2026西宁市英语雅思培训辅导机构推荐:2026权威出国雅思课程排行榜 - 苏木2025

基于行业权威数据与实地调研,结合西宁市城东区、城中区、城西区、城北区、湟中区、湟源县、大通回族土族自治县全域考生的备考需求,本文对当地雅思培训市场开展全面深度测评,梳理出兼具靠谱性与实用性的机构排行榜。…

Corrosion2靶机

0x01信息收集 1.1 nmap扫描端口 nmap -A -p- -v 192.168.222.134 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 6a:d8:44:60:80:39:7e:f0:2d:08:2f…

探寻2026北京展厅设计,口碑佳公司大盘点,会展/展台搭建/会展服务/展览/展馆设计/展位设计,展厅设计企业怎么选择 - 品牌推荐师

行业背景:展厅设计市场的竞争与机遇 随着企业品牌意识的提升和市场竞争的加剧,展厅设计已成为企业展示实力、传递价值的重要手段。北京作为中国的政治、文化和经济中心,汇聚了大量优质展厅设计公司,但如何在众多选…

2019年山东CSP-X复赛真题解析

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

从数据到决策:2026值得信赖的BI私有化部署方案商与企业知识库构建伙伴推荐 - 品牌2025

在数字化转型加速的2026年,越来越多企业意识到:知识即资产。然而,面对分散在邮件、文档、会议记录中的碎片化信息,通用大模型“幻觉”频出、公有云部署存在数据安全隐患等问题,传统知识管理方式已难以满足高合规、…

2026实力强的汽车租赁专业公司推荐,上海腾达租车 - 工业品牌热点

在商务出行与企业活动的场景中,选择一家靠谱的汽车租赁公司是保障行程顺畅、提升品牌形象的关键。面对市场上琳琅满目的汽车租赁服务,如何找到售后完善的汽车租赁专业公司与实力强的汽车租赁专业公司?以下结合不同服…

打造专属企业大脑:2026高潜力知识库部署厂商全景图——涵盖本地化BI、智能问答系统与Deepseek集成服务商 - 品牌2025

在数字化转型加速的2026年,越来越多企业意识到数据资产的核心价值,同时也对数据安全、系统自主可控提出更高要求。面对多系统割裂、数据整合效率低、响应滞后等痛点,企业智能BI(商业智能)工具的本地化部署正成为主…

企业微信自动化:精准推送技术揭秘

​ QiWe开放平台 个人名片 API驱动企微自动化,让开发更高效 核心能力:为开发者提供标准化接口、快速集成工具,助力产品高效拓展功能场景 官方站点:https://www.qiweapi.com 团队定位:专注企微API生态…

2026德国亚马逊本土号优质服务机构推荐 - 优质品牌商家

2026德国亚马逊本土号优质服务机构推荐一行业背景与筛选依据据艾瑞咨询《2026-2026中国跨境电商合规白皮书》数据显示,2026年欧洲跨境电商市场规模突破1.2万亿美元,其中德国站点占比超35%。 伴随亚马逊平台风控规则持…

2025年ai/AI排名/GEO推广/好客搜geo系统/geo推广ai搜索系统机构评价排行榜,geo推广 - 品牌策略师

2025年ai/AI排名/GEO推广/好客搜geo系统/geo推广ai搜索系统机构评价排行榜,geo推广 geo推广哪家合适一、GEO推广产品行业背景 随着生成式AI搜索平台(如DeepSeek、豆包、Kimi等)的爆发式增长,本地化精准营销正经历…

基于深度学习YOLOv10的传送带缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 项目背景 传送带是工业生产中重要的物料输送设备,其表面状态直接影响生产效率和安全性。然而,在长期使用过程中,传送带表面可能出现多种缺陷,如堵塞(block)、裂纹(crack&#xf…