性能指标
简述所涉业务在性能统计中的指标视角。
1 AI 应用 (算力层)
核心关注: 推理速度、显存瓶颈、生成质量。
1.1 算力硬件指标 (基础设施)
这部分指标主要用于衡量底层硬件(GPU/NPU)的理论计算上限。
1.1.1 TOPS / TFLOPS (每秒运算次数)
定义: 处理器每秒钟能完成的操作次数(TOPS 指整数运算,TFLOPS 指浮点运算)。
- 核心理解: 这是衡量 AI 显卡“算力”最粗犷的指标。
- 精度陷阱: 谈论算力必须挂钩精度(Precision)。通常 INT8 用于推理,数字看起来很大;而 FP16/BF16 用于大模型训练和高质量推理,数值会比 INT8 小很多。
- 算力利用率: 实际运行中,受限于代码优化,很难达到理论峰值(通常能达到 50%~70% 就算优秀)。
1.1.2 显存带宽 (Memory Bandwidth)
定义: 显存与计算核心之间每秒能传输的数据量(单位:GB/s 或 TB/s)。
- 核心理解: 在大模型(LLM)时代,带宽比算力更重要。
- 瓶颈效应: 很多时候 GPU 算力还没跑满,但因为数据搬运速度跟不上(Memory-Bound),导致计算核心在“等”数据。
- 硬件区分: 采用 HBM3 显存的显卡(如 A100/H100)带宽远高于普通显存,因此处理大模型的效率极高。
1.2 模型推理指标 (应用性能)
这部分指标直接反映了 AI 服务的实际运行效率,决定了用户端的使用体验。
1.2.1 Tokens Per Second (TPS / tok/s)
定义: AI 模型每秒生成的 Token(字词片段)数量,即生成的“语速”。
- 核心理解: AI 界的“吞吐量”。
- 体感标准: 正常人类阅读速度约 5-10 tokens/s。如果 TPS < 5,用户会感到明显的打字机式卡顿。
- 计算公式: $TPS = \frac{\text{生成的总 Token 数}}{\text{生成耗时 (s)}}$。
1.2.2 TTFT (Time To First Token - 首字时间)
定义: 从用户发送请求到系统输出第一个字符所花费的时间。
- 核心理解: AI 界的“响应时间(RT)”。
- 心理预期: 用户最焦虑的时间段。即使后续生成的 TPS 很高,如果 TTFT 超过 3 秒,用户也会认为系统响应慢。
- 处理阶段: 这个阶段包含了“预填充(Prefill)”过程,即模型解析用户输入的所有提示词。
1.2.3 显存占用率 (VRAM Usage)
定义: 运行模型时,显存被占用的百分比。
- 核心理解: 决定了模型能否跑起来、能跑多大的并发。
- 显存构成: $\text{总占用} = \text{模型权重静态占用} + \text{KV Cache 动态占用} + \text{激活值占用}$。
- 风险: 显存一旦溢出(OOM),服务会直接崩溃。
2 网络 OLT/交换机 (传输层)
核心关注: 包转发效率、物理信号质量、链路拥塞。
2.1 转发能力指标
这部分指标衡量网络设备在处理高密度数据流时的“硬实力”。
2.1.1 PPS (Packets Per Second - 包转发率)
定义: 设备每秒能够处理并转发的数据包数量。
- 核心理解: 相比带宽(bps),PPS 更能体现网络设备的 CPU/ASIC 处理压力。
- 小包痛点: 同样是 1Gbps 的流量,如果全是 64 字节的小包,其包数量远多于 1500 字节的大包,设备处理起来会非常吃力。
- 攻击防御: 典型的 DDoS 攻击就是通过瞬间拉高 PPS 来打崩路由器的处理核心。
2.1.2 线速转发 (Wire Speed)
定义: 指设备能够以端口物理最大速率处理所有大小的包而不丢包。
- 核心理解: 这是网络设备的“满分”状态。
- 计算逻辑: 在千兆以太网中,最小包(64B + 20B 损耗)的线速是 1.488 Mpps。如果设备标称 PPS 低于此值,说明在处理高频小包时会存在瓶颈。
2.2 网络质量指标
这部分指标衡量链路的稳定性,直接影响实时业务(直播、语音、AI 实时通话)。
2.2.1 抖动 (Jitter)
定义: 相邻两个数据包到达时间的时间差变化。
- 核心理解: 抖动比延迟更影响实时性。
- 影响: 延迟高(比如 100ms)但稳定,语音通话可能只是有延迟;但抖动大(忽大忽小),声音就会出现断续和变调。
2.2.2 丢包率 (Packet Loss Rate)
定义: 在传输过程中丢失的数据包占总发送包的百分比。
- 核心理解: 衡量链路健康度的红线。
- 常见原因: OLT 下行分光比过大导致拥塞、光衰过大(光功率低于 -27dBm)、或者设备 PPS 达到极限。
- 阈值: 对于视频业务,丢包率通常需要控制在 $0.1%$ 以下才能保证流畅。
3 Web 业务(软件层)
核心关注: 用户体验、并发处理能力、流量转化。
3.1 核心性能指标(技术视角)
这部分指标主要用于衡量服务器和代码的处理能力。
3.1.1 响应时间 (RT - Response Time)
定义: 系统从接收到请求开始,到返回最终结果并呈现给用户所消耗的时间。
- 核心理解: RT 是用户体验最直观的指标。
- 主观性: 不同应用标准不同。游戏 <100ms 是流畅,网页 <1s 是优秀,而大数据报表导出几分钟也能接受。
- 组成: $RT = \text{网络传输时间} + \text{应用服务器处理时间} + \text{数据库读写时间}$。
- 平均值 vs. 百分位值 (P95/P99):
- 只观察“平均响应时间”,往往会掩盖问题。比如 99 个请求是 100ms,1 个请求是 10s,平均值看起来还行,但那个 10s 的用户体验极差。
- P95/P99 RT: 表示 95% 或 99% 的请求都在这个时间内完成。互联网大厂更看重 P99,因为长尾延迟(Long Tail)才是性能瓶颈所在。
3.1.2 吞吐量 (Throughput) 与 TPS / QPS
定义: 系统在单位时间内处理请求的数量。这是衡量系统“处理能力”的硬指标。
这里需要厘清 TPS 和 QPS 的微妙区别,它们常混用,但在精确场景下有差异:
- QPS (Queries Per Second - 每秒查询率):
- 微观视角: 指服务器每秒处理的独立请求数。
- 适用场景: 单个 API 接口、DNS 查询、数据库的 SELECT 次数。
- TPS (Transactions Per Second - 每秒事务数):
- 宏观视角: 指系统每秒处理的完整业务流程。
- 换算关系: 一个事务(TPS)可能包含多个请求(QPS)。
- 案例: 访问一个“首页”(是一个 TPS),可能触发 1 个 HTML 请求、1 个 CSS 请求、1 个 JS 请求(共 3 个 QPS)。
- 公式: $TPS = \frac{\text{并发数}}{\text{平均响应时间}}$
通俗比喻:
- TPS 是去餐馆点一套“套餐”(一个完整业务);
- QPS 是厨房里切菜、炒菜、端盘子等一个个具体的动作。
3.1.3 并发用户数 (Concurrency)
定义: 系统同时承载的、正在进行操作的用户数量。
三个层级的漏斗模型:
- 系统用户数 (System Users): 数据库里存了多少个注册用户。(最大,但不代表性能压力)
- 在线用户数 (Online Users): 登录了系统的用户。他们可能在浏览、挂机,不一定在发请求。(比如挂着微信不聊天)。
- 并发用户数 (Active Users / Threads): 真正对服务器产生压力的用户。指正在点击按钮、正在等待服务器响应的那些瞬间的用户。
3.1.4 【核心总结】性能三角关系
三个指标之间存在的逻辑联系:
- 如果系统处理得快(响应时间短),同样的并发数下,吞吐量(QPS)就高。
- 如果系统变慢了(响应时间变长),想要维持同样的 QPS,就必须增加并发线程数(加机器或开更多线程)。
- 拐点: 当并发数增加到一定程度,CPU 或内存满了,响应时间会急剧变长,此时 QPS 不升反降,系统崩溃。
3.2 流量与业务指标(运营视角)
这部分指标主要用于描述网站的受欢迎程度和流量规模。
3.2.1 PV (Page View)
- 定义: 页面浏览量。用户每刷新一次即计算一次。
- 意义: 衡量网站被“看”了多少次,广告展示的重要指标。
- 特性: 易通过刷新、爬虫刷量,仅反映页面曝光频次,无法体现真实用户规模。
3.2.2 UV (Unique Visitor)
- 定义: 统计周期内(通常为1天)访问网站的独立设备数。如一天内,同一台设备(基于 Cookie 或设备指纹)多次访问仅计 1 次 UV。
- 意义: 衡量有多少“人”(或终端)留下过痕迹。比 PV 更能反映真实用户规模,可衡量用户粘性。
3.2.3 IP (Internet Protocol)
- 定义: 统计周期内(通常为1天)访问网站的不同公网IP数量,以公网IP为识别依据,同一IP多次访问仅计1次。
- UV 与 IP 的区别(易混淆点):
- 局域网/网吧: 10 个人通过同一个路由器上网,IP 是 1 个,但 UV 是 10 个。(UV > IP)
- 动态 IP/拨号: 1 个人不断断网重连换 IP,IP 是 N 个,但 UV 是 1 个。(IP > UV)
- 结论:UV 通常比 IP 更能真实反映用户数量。
- 意义: 适用于衡量网络层面的访问覆盖范围。
3.2.4 GMV (Gross Merchandise Volume)
- 定义: 网站在统计周期内订单成交金额。包含付款和未付款的订单(GMV≠实际成交额)。
- 意义: 电商的核心业绩指标,反映平台订单规模,常用于电商行业的规模对标,存在“刷量空间”(反复下单-退款可虚增GMV)。
3.3 QPS 容量估算公式(实战应用)
大部分系统中,80% 的访问量会集中在 20% 的热门时间段内,QPS计算需聚焦峰值时段的请求压力,确保系统在峰值下稳定运行。
3.3.1 核心公式
峰值QPS =(总PV数 × 80%)÷(每天总秒数 × 20%)
所需服务器数量 = 峰值QPS ÷ 单台服务器最大QPS(需预留20%-30%冗余,应对突发流量)
每天秒数 = 24小时 × 60分 × 60秒 = 86400秒
3.3.2 案例演示
场景: 某系统每天有 500 万 PV,单台机器经过压测最大 QPS 为 80,计算峰值QPS及所需服务器数量。
-
计算峰值 QPS:
(通常向上取整,按 232 QPS 计算)
-
计算机器数量:
-
【补充】冗余系数(Safety Factor):
在实际生产中,机器不能跑满 100%,且需要预留资源应对突发流量或机器故障。通常建议预留 20%-30% 的缓冲。