“10 万并发”不是性能需求:大促压测必须算清六个参数

简介: 直播电商大促性能需求不能只提“10万并发、P95<500ms”。需明确流量模型(如30秒尖峰)、业务混合比例、支付真实性及降级策略。并发是结果而非输入,压测须还原真实路径、验证交易正确性,并交付可执行的容量账与退让方案。

直播电商项目提出大促性能需求:“帮我测到 10 万并发,接口 P95 不超过 500ms。”

这句话无法直接写压测脚本。10 万人是 30 秒内同时点“抢购”,还是 2 小时在线浏览?他们是否集中购买一个爆品?支付链路是否真实?超过容量后允许排队、限流,还是必须全部成功?不把这些问题说清,测出来的 10 万只是一个仪表盘数字。

image.png

并发数不是流量入口,而是系统里的在途结果

同样每秒进入 1000 个请求,平均响应 100ms 时大约有 100 个在途;响应恶化到 3 秒,在途会膨胀到约 3000。若压测工具采用“一个用户等响应回来再发下一个”的关闭模型,系统越慢,工具发得反而越少,会掩盖最危险的排队阶段。

直播开售更适合按外部到达率还原:预热阶段逐步增长,主播口令后 30 秒形成尖峰,随后回落。浏览、领券、下单、查询和支付按真实比例混合,而不是只压一个最轻的 GET 接口。

image.png

把“10 万人”编译成负载模型

假设 10 万用户在 30 秒内涌入,70% 浏览商品、18% 领取资格、8% 创建订单、4% 查询结果。热点爆品承接 65% 下单,其他商品分散。可以先写成开放到达模型:

export const options = {
   
  scenarios: {
   
    browse: {
   
      executor: 'ramping-arrival-rate',
      startRate: 300,
      timeUnit: '1s',
      preAllocatedVUs: 1200,
      stages: [
        {
    target: 2400, duration: '20s' },
        {
    target: 2400, duration: '30s' },
        {
    target: 600, duration: '40s' }
      ]
    }
  },
  thresholds: {
   
    http_req_failed: ['rate<0.01'],
    http_req_duration: ['p(95)<500', 'p(99)<1200']
  }
};

代码里的速率只是示例,真实数值要从活动预测与历史流量推导。还要为下单、支付使用不同函数和权重,按业务键制造热点;否则一万商品均匀访问会把缓存和数据库锁竞争“洗平”。

压测分五段,才能找到容量拐点

第一段做单请求基线,排除脚本和环境问题;第二段逐步加压,观察延迟何时偏离线性;第三段在目标容量稳定运行,检查内存和队列是否持续积累;第四段超过目标寻找拐点与降级行为;第五段停止高压,验证系统是否在规定时间恢复。

不要只记录 CPU。至少联动客户端等待、网关排队、线程池、连接池、缓存命中、数据库锁、下游耗时、消息积压和业务成功数。某个服务 CPU 只有 50%,连接池已经耗尽,系统一样会崩。

性能报告必须能对业务账

请求成功不代表抢购正确。下单数不能超过可售库存;同一用户不能重复占资格;支付成功必须有订单;被限流用户要收到明确结果;超时后查询能找到最终状态。

def assert_sale_reconciliation(report, repository, stock):
    paid = repository.count_orders(status="PAID")
    reserved = repository.count_orders(status="RESERVED")
    unique_buyers = repository.count_unique_buyers()

    assert paid + reserved <= stock
    assert report["accepted_orders"] == paid + reserved
    assert unique_buyers == paid + reserved
    assert report["unknown_outcomes"] == 0

如果业务允许一人多单,最后一条需按实际规则调整。关键是让性能测试同时验证速度与正确性,不把数据库里悄悄错掉的订单当成吞吐成绩。

image.png

最终要交付的是容量账和退让方案

报告应给出安全容量,而不是极限截图:在既定业务混合下,满足 SLO 且资源留有余量的到达率;扩容需要提前多久;排队到什么长度触发限流;哪些用户或业务优先;故障后多久恢复;目标高峰超过安全容量时需要削减什么。

高级性能课程适合团队补齐建模、诊断与容量规划能力;对于大促、核心交易或复杂微服务,也可以采用企业内训或性能专项外包共同完成业务建模、脚本、观测和演练。无论采用哪种方式,验收都不应停留在“工具打出了多少并发”。

性能测试真正回答的不是系统能不能扛住 10 万,而是用户以什么方式到来时,系统在哪个点开始失控、怎样有序退让、恢复后业务账是否仍然正确。

相关文章
|
5天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1127 0
|
14天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3757 4
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
5天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1450 0
|
5天前
|
人工智能 安全 前端开发
刚刚 GPT-6 Astra 发布,全球最强,AGI 时代到来!
OpenAI 正式推出 GPT-6 Astra 模型,带大家看看这次 GPT 有哪些提升,跟 Claude Fable 5.1 有什么差距?AI 编程能力如何?AGI 真的来了么?
625 0
|
11天前
|
人工智能 并行计算 数据可视化
秋叶ComfyUI-AKI最新整合包|完整部署教程+核心指令手册
秋叶ComfyUI-AKI一键整合包,国内适配最优、稳定性最强的商用/学习级版本:全封装虚拟环境、预装90%常用节点、内置绘世启动器与成熟工作流,免配置、零依赖、解压即用,完美兼顾新手入门与专业批量生产需求。(239字)
|
14天前
|
人工智能 Linux iOS开发
Ollama使用教程:Ollama官网下载、Ollama本地部署大模型(2026最新)
Ollama 是一款免费开源的本地大模型运行工具,支持在 Windows/macOS/Linux 上离线运行 Qwen、DeepSeek、Llama 等主流开源模型,数据不出本机、隐私安全。提供 OpenAI 兼容 API,命令行一键拉取/运行/管理模型,无需联网,无调用限制,是开发者与 AI 爱好者部署本地 AI 助手的理想选择。(239 字)