企业 AI 项目 Wiki · 需求与业务场景
性能要求
也常写作Performance requirement · 性能需求 · 性能与时序要求 · 性能指标要求
性能要求是对指定系统对象执行指定功能时的速度、延迟、时限、吞吐、并发、处理规模、容量或资源利用水平所作的规范性量化陈述。它必须同时说明工作负载、数据、环境、测量边界、统计口径、阈值和允许失败,使结果能够复现、验证、分配、追溯和受控变更。
性能要求规定功能做得多快、多大和多高效,不是“系统要快”
性能必须附着到一个明确功能和系统边界。“页面两秒打开”没有说明哪个页面、从哪里开始计时、包含哪些后端和网络、使用什么数据与负载、按平均值还是百分位判断。缺少这些条件时,开发、测试、客户和监控可能分别证明不同的“达标”。
性能要求既可以是交互请求的端到端响应,也可以是事件经过接口的延迟、批处理必须完成的时限、单位时间处理量、同时活动主体数量、最大数据规模或资源利用上限。不同指标不能互相替代:更高并发可能降低单请求响应,更低平均延迟也可能隐藏严重尾部等待。
NASA 把功能要求概括为做什么,把性能要求概括为做得多好,并建议同时说明最低可接受阈值与期望基线,保留设计取舍空间。阈值过松不能支持业务,过紧则可能无价值地排除可行方案并抬高成本。
常见性能指标分别测量什么
响应时间、吞吐量、并发数和资源利用率常被放在一张表里,却不能互相替代。一个页面响应很快,不代表系统能承受高峰;服务器尚有余量,也不代表用户已经及时得到可用结果。先知道每项指标回答什么问题,才能避免用容易测的数字代替真正关心的任务。
响应时间
从定义的请求或用户动作开始,到约定结果可用为止的持续时间。需说明是否包含客户端、网络、排队、重试、渲染和异步完成。
延迟
事件从一个测量点到另一个测量点经历的时间,可用于接口、消息、数据新鲜度或多段管道。必须写清两端时钟、同步和中间缓冲。
吞吐
单位时间成功完成的事务、消息、文档、令牌或数据量。应同时报告失败、拒绝和积压,否则通过丢弃工作也能制造高吞吐。
并发
同一时段正在连接、活动、排队或执行的用户、会话、任务或事务数量。选择与资源竞争和业务行为真正相关的定义。
容量
在仍满足响应、错误和资源边界时,系统能够承载的数据、用户、任务、存储、队列或调用规模上限;不是单独写一个最大数字。
时限与周期
任务必须在业务或控制截止时间前完成,或按规定频率启动与更新。超过硬实时期限和普通交互变慢的后果不同,须分别定义。
资源利用效率
在指定工作量下使用 CPU、内存、存储、网络、加速器、能耗或外部调用额度的水平,说明是上限、平均、峰值还是单位工作成本。
准确度与精度
部分系统工程分类把测量准确度与精度视为性能;软件质量分类也可能另行管理功能正确性。项目必须声明分类,不能用响应快掩盖结果错误。
排队、积压与丢失
队列长度、等待时间、过期、丢弃、背压和清空时间揭示系统是否只是把工作延后。它们常比单个请求平均时间更早暴露容量风险。
没有工作负载模型,性能阈值就没有共同含义
“两秒内完成”必须附带谁在用、请求有多大、同时有多少任务、依赖服务处于什么状态。否则开发可能用一个短请求证明达标,而生产面对的是长文档和月末高峰。工作负载模型把测试条件与真实业务量连接起来。
业务事务组合
列出查询、写入、上传、生成、导出、批处理等操作比例及其到达方式。只压测最轻接口不能代表真实业务。
用户与会话行为
区分注册量、在线连接、活跃会话、思考时间、突发请求和同时执行事务,并考虑不同角色执行的功能组合。
数据规模与分布
记录记录数、文件大小、字段复杂度、历史深度、索引状态、冷热数据、语言与异常输入;平均大小不能覆盖极端但合法对象。
到达率、峰值和持续时间
说明正常、季节峰值、瞬时突发、持续高峰与增长假设。短时峰值可由队列吸收,持续峰值需要真实处理能力。
系统配置和依赖
固定应用、数据库、缓存、网络、区域、实例、资源配额、第三方接口和模型版本,并记录自动扩缩容、预热与限流条件。
初始状态与数据准备
说明缓存冷暖、连接池、队列、索引、后台任务、测试账号与数据是否预置。只报告预热后的最好结果会误导首次或故障恢复表现。
成功、拒绝和降级定义
成功必须满足功能正确性;超时、5xx、业务拒绝、限流、回退、低质量简化和异步受理分别计数,不能从样本中静默删除。
代表性与适用期限
说明负载模型来自哪些业务证据、覆盖哪些群体和时段、有哪些未知,以及业务量或行为变化到什么程度需要重建模型。
一条可验证的性能要求要记录什么
性能要求实际上是一份测量约定。它要明确从哪个事件开始计时、到什么结果才算结束、在哪种负载与数据条件下观察,以及使用百分位、最大值还是其他统计方式判定。缺少其中一项,结果就很难复现。
稳定 ID、目标对象与功能
标明端到端服务、接口、作业或组件,以及被测功能和版本。组件达标不能自动证明用户路径达标。
负载、数据和持续条件
引用受控工作负载模型,写明并发、到达率、事务组合、数据规模、峰值持续时间和增长边界。
环境与依赖状态
指定部署拓扑、资源、区域、网络、缓存、外部服务、后台任务和正常或降级状态,并登记与生产的已知差异。
测量起止和边界
定义计时或计数从哪个可观察事件开始、到哪个结果结束,是否包含排队、重试、客户端、网络、工具和异步后续。
指标公式、单位与统计
规定毫秒、事务/秒、资源/事务等单位,百分位、最大值、平均、分布或置信区间,以及聚合窗口和最小样本。
阈值、目标与裕量
区分最低可接受阈值、期望基线、工程裕量和容量警戒线;说明是单次、窗口比例还是连续窗口判定。
错误、超时和排除规则
把超时、失败、限流、拒绝、降级和取消纳入判定,明确合法排除及其批准,防止删掉最慢失败样本。
来源、理由和业务后果
关联用户等待、业务截止、上游吞吐、接口约束、风险、成本或法规,并说明阈值未满足造成的具体影响。
验证、监测和责任
指定工具、环境、数据、重复、见证、结果存档、生产对应指标、负责人和复核触发。
分配、版本与状态
连接功能、架构、容量模型、供应商承诺、测试和验收,记录待决定、批准、豁免、替代与变化历史。
怎样从业务需要和证据确定性能阈值
阈值不应来自一句“越快越好”。团队要先看用户等待会怎样影响任务、批处理错过截止会造成什么后果,再结合现状测量、增长预测、依赖能力和成本找到可承担的目标。真正无法确定时,可以先批准测量阶段,而不是猜一个永久数字。
确定性能相关的业务结果
识别哪些用户动作、业务截止、上游接口或批量处理对等待、积压和处理规模敏感,以及延迟或容量不足的真实后果。
收集现状和增长证据
使用生产日志、业务预测、季节峰值、用户研究、接口限制、历史事件和供应商数据,记录数据质量和不确定范围;没有证据时先测基线。
建立分层工作负载模型
分别定义正常、峰值、突发、批量、异常和降级负载,包含事务组合、数据分布、持续时间与未来增长,不用一个“并发用户数”代表全部。
定义端到端测量口径
先确定业务可感知的开始和结束,再按需要分解客户端、网络、应用、数据库、模型、外部工具和队列时段,避免只优化容易测的组件。
确定最低阈值与期望基线
从业务容忍、依赖限制、风险和现状提出最低可接受线与期望水平,通过试验和架构方案验证可行性并保留合理设计空间。
分析性能、质量和成本取舍
比较延迟、吞吐、准确性、安全检查、可靠性、资源、云和模型费用、开发复杂度及供应锁定,记录残余风险。
批准验证方案和容量裕量
由业务批准等待与规模需要,技术确认测量和实现,运营确认峰值与告警,采购确认供应额度;共同批准环境、阈值、裕量和失败处置。
基线、监测并按触发复核
把要求与测试脚本、结果、监控和容量计划关联,业务量、数据、架构、模型、接口或硬件重大变化时重新测量和批准。
为什么平均值不足以判断性能
平均一秒可能同时包含大多数人的半秒和少数人的二十秒。后者若集中在大文件、高价值客户或关键月底任务上,平均值看起来良好也没有意义。性能判断要看分布、长尾、失败和不同业务路径。
平均值会隐藏尾部延迟
少量极慢请求可能被大量快速请求稀释,却集中影响关键用户或大文件。报告中位数与批准的高百分位,并查看完整分布。
百分位必须有聚合范围
p95 或 p99 要说明按哪个接口、角色、区域、版本和时间窗口计算。先聚合再算与各实例先算再平均会得到不同结论。
最大值需要区分异常与严重失败
最大值对样本量和噪声敏感,但不可接受的单次超时、越过业务截止或控制期限不能因统计不稳定被忽略,应单列硬失败。
成功样本偏差会制造假达标
如果只计算返回成功的请求,超时和系统错误恰好被排除。响应分布必须与错误、取消、限流和丢弃使用同一总体说明。
协调遗漏会低估排队
固定等待上一个请求完成再发送下一个,会在系统变慢时自动减小施压,隐藏真实到达率下的排队和尾部延迟。负载方法应反映实际到达模型。
短测试不能证明持续能力
预热、缓存、垃圾回收、连接泄漏、队列增长、资源耗尽和供应限额可能只在长时运行出现;持续时间必须匹配业务峰值和风险。
结果需要不确定性与重复
共享基础设施、网络和模型服务会带来变化。记录重复次数、样本量、分布、环境噪声和置信范围,不能只选最好一次。
性能要求怎样验证并进入生产监测
实验室结果只有在环境、数据、依赖和负载足够接近目标运行时才有解释力。上线后还要沿用同一计时边界和分层口径监测,否则测试说的“两秒”和生产仪表盘里的“两秒”可能根本不是一件事。
建立可复现测试环境
锁定制品、配置、资源、网络、依赖、数据、缓存和负载生成器,记录与生产差异及这些差异可能造成的方向性影响。
校准负载与测量工具
确认生成器自身不成为瓶颈,时钟同步、采样、追踪和资源监控精度足够,并验证事务确实执行成功。
按层次执行性能试验
分别进行基线、负载、峰值、压力、耐久、容量和必要的降级试验;试验类型由风险选择,不用一次峰值测试声称所有性能满足。
同时观察系统和依赖
关联端到端时间、各段追踪、吞吐、队列、错误、CPU、内存、存储、网络、数据库、外部服务和成本,找出瓶颈而非只看最终数字。
保留版本化原始证据
保存要求、工作负载、环境、脚本、原始结果、分析、偏差和复测,避免只有截图或“压测通过”的结论。
让验收使用批准口径
验收明确正式版本、代表数据、环境、测量窗口和通过判定;若环境不同,应由有权人员接受差异和残余风险。
把同一指标映射到生产
生产监测使用一致的边界和分层,设置容量趋势、性能预算、告警与责任;真实流量不能自动替代受控验证,也不能因达标一次停止观察。
采购申请服务的性能要求构造例子
下面用独立构造、与任何客户无关的采购服务,把交互等待、批量处理和高峰容量写成完整测量条件。数值继续保留为变量,因为目标必须结合实际负载、业务容忍、架构与成本批准,不能从行业宣传中直接拿来。
PERF-101:交互检查响应
在工作负载 W1、数据集 D1、预发布配置 E1 下,从有权申请人发出检查请求到页面收到完整缺失项与规则编号,成功请求的端到端响应时间应满足 p95≤T1 与 p99≤T2,同时超时和系统错误比例≤F1。
PERF-102:持续提交吞吐
在峰值事务组合 W2 持续 H1 时间时,服务每分钟应成功完成不少于 Q1 个正式提交,并保持 PERF-101、状态一致性和不得重复提交的功能要求,不以排队到测试结束后或丢弃请求计为完成。
PERF-103:并发与队列边界
当同时活动提交事务不超过 C1 且外部依赖处于批准服务水平时,待处理队列的 p95 等待时间应不超过 T3;超过 C1 时系统按批准策略背压或拒绝并返回可识别结果。
PERF-104:批量审计导出
对规模 D2 的授权记录集,导出作业应在业务截止 B1 前完成,生成完整校验结果;执行期间资源利用不得使交互提交路径违反 PERF-101。
PERF-105:资源效率
在基准工作量 W1 下,指定应用与模型组合完成一次成功检查的 CPU、内存、网络、模型令牌与外部调用成本应按公式 M1 记录,并满足经容量与费用评审批准的上限 U1。
PERF-106:冷启动与扩容
从批准的零或低容量状态收到突发负载 W3 起,系统应在 T4 内达到处理能力 Q2,期间请求按已定义的排队、降级或拒绝规则处理,冷启动样本不得从报告中排除。
企业 AI 性能要求必须测量整个任务链和可变成本
模型生成只是用户等待中的一段。访问检查、检索、重排、工具调用、内容校验和人工队列都会增加时间,也可能决定结果是否真正可用。AI 性能要同时看端到端任务、质量和费用,不能为了更快而悄悄减少证据或控制。
分解但不丢失端到端时间
分别测量访问检查、上下文组装、检索、重排、模型排队与生成、工具调用、后处理和传输,同时保留用户从请求到可用结果的总时间。
屏幕开始出字很快,不代表工作已经完成
流式输出能降低等待感,因此可以记录首个可用反馈时间。但用户真正需要的往往是完整、经过校验且允许采用的结果,这个时间也必须单独测量。只优化第一个字出现的速度,可能把后续工具等待和校验耗时藏起来。
输入输出规模进入负载模型
记录提示、上下文、检索文档、图像、输出令牌、工具次数和对话历史的分布,覆盖长尾合法任务,不能只用短提示平均值。
质量—延迟—成本共同判定
减少检索、推理或输出可能加快并降费,却降低正确性和证据覆盖。性能试验必须使用达到批准任务质量的配置,并同时报告严重失败。
外部模型的限额和波动
覆盖区域网络、供应商排队、速率限制、突发额度、版本变化与降级,定义超时、重试、切换、排队和拒绝,而不是假设供应 API 延迟固定。
工具和人工队列属于任务性能
需要数据库、业务 API、人工复核或批准的任务,应分别规定自动阶段和端到端业务截止,不能把生成建议时间冒充业务处理完成时间。
缓存与批处理要遵守知识状态
缓存、语义复用和批量生成可提升性能,但必须规定权限、版本、新鲜度、失效与隔离,避免用旧知识或跨用户内容换速度。
按模型组合和路径分层监测
不同模型、提示、检索、工具、语言、任务和降级路径分别观察延迟、吞吐、错误、令牌与费用;聚合平均会隐藏某一高风险路径退化。
供应变化触发容量回归
模型版本、上下文上限、价格、限流、部署区域或工具接口重大变化时,重新执行代表负载、质量和成本联合评测并更新容量决定。
性能要求与相邻概念怎样区分
性能、可用性、可靠性、容量和服务等级彼此关联,但关注的事件与判定不同。性能要求描述任务在给定负载下的时间、数量和资源表现;部署规格或供应商额度只是影响它的条件,不能直接当成用户任务已经达标的证据。
| 概念 | 与性能要求的边界 |
|---|---|
| 功能要求 | 规定系统做什么和产生什么结果;性能要求量化这些功能在指定条件下做得多快、多少或多高效。功能正确是性能样本有效的前提。 |
| 非功能要求 | 是质量要求或约束的更大集合,可包含性能、安全、可靠性、维护等;性能要求专门聚焦量化的时间、吞吐、容量和资源。 |
| 响应时间与延迟 | 它们是性能指标,不是完整要求。只有补齐功能、边界、负载、环境、统计、阈值和错误规则后才成为可验证要求。 |
| 并发与容量 | 并发描述同时活动程度,容量描述仍满足其他边界时的可承载规模;“支持人数”若未定义行为与成功条件,不能代表两者。 |
| 可扩展性 | 可扩展性关注负载变化时通过资源或架构调整保持表现的能力;性能要求给出具体负载和结果,可扩展性还涉及扩容时间、效率和上限。 |
| 可靠性与可用率 | 可靠性关注规定期间按要求执行,可用率关注可用状态比例;它们会影响观察到的性能,但不能用快速成功请求掩盖大量不可用或失败。 |
| 恢复时间目标(RTO) | RTO 是中断后恢复业务能力的目标,属于连续性和恢复治理;它是时间指标,但不等同日常请求性能。 |
| 性能测试 | 是用受控负载和环境取得性能证据的活动;性能要求是它要验证的规范目标,测试工具默认阈值不能创造需求。 |
| 监控指标 | 是运行时观测到的数据;性能要求提供需要判断的目标与条件。可监控不等于阈值合理,也不等于已完成受控验证。 |
| SLI、SLO 与 SLA | SLI 定义服务指标,SLO 规定目标,SLA 形成双方责任和可能补救。它们可采用性能指标,但生命周期、例外、责任和合同效果不同。 |
| 性能预算 | 把端到端目标分配给页面资源、组件或链路阶段,用于设计控制;预算须由上层性能要求推导,局部都达标也要验证总路径。 |
| 成本要求 | 成本规定预算或单位经济边界。资源效率影响成本,但价格、折扣和采购条款可能变化,不能只用 CPU 或令牌量代表完整费用要求。 |
依据与适用边界
本文解释系统与软件需求工程中的性能要求:用可量化指标规定系统或服务在明确功能、负载、数据规模、运行环境和时间窗口下必须达到的时间行为、吞吐、并发、容量或资源效率。它回答功能需要“做得多快、处理多少、占用多少资源或在什么时限内完成”,通常属于质量要求或非功能要求的一类。本文不完整定义功能要求、非功能要求、可靠性、可用率、恢复时间目标、可扩展性、容量规划、服务级别指标/目标/协议、性能测试、监控、成本优化、模型准确率或用户体验;这些概念可以关联,但必须分别确认对象、责任和判定。任何响应时间、并发量或调用成本数值都必须依据真实业务、风险、环境与试验由有权人员批准。
- ISO/IEC/IEEE 29148:2018:需求工程、可量化可验证要求、系统与软件规格、追溯和变更;2024 年确认继续有效
- ISO/IEC 25010:2023:产品质量模型中的性能效率、时间行为、资源利用与容量,用于质量规定、测量和评价
- NASA Technical Requirements Definition:性能要求量化功能做得多好,并通过最低阈值与期望基线保留设计取舍空间
- NASA How to Write a Good Requirement:性能、裕量、时序、吞吐、存储、延迟、准确与容差须现实、可辩护、可验证
- NASA Requirements Management:性能等多层要求的分配、双向追溯、技术状态、基线和变更管理
- NASA Software Requirements Specification:同时用户、并发任务、正常峰值数据量、响应、时限、带宽、容量和资源利用的规格指导
- IREB CPRE Glossary:性能要求描述时序、速度、数量、容量、吞吐等性能特征,通常视为质量要求子类
- NIST NML Performance Measures:时间、CPU 时间、吞吐和延迟的测量含义及不同技术选择间的性能取舍
- NIST Technical Note 1867:时序系统中吞吐、延迟、抖动、丢失以及时钟测量校准的重要性
- NIST AI RMF Core:AI 系统指标、预期用途、资源、供应依赖、风险容忍、持续评测与监测