下载工作台
企业级架构运维

容量规划与成本估算

试读上半部分 · 解锁后可读全文

第 9 章 · 容量规划与成本估算

本章用 可计算公式 + k6 压测基线 + 小紫云成本模型,把「感觉够用」变成可复核的容量表,直接作为 L3 交付物。

前置:ch03 扩展性、ch08 综合案例;PaaS ch15;跟练 ch16。


9.1 容量规划四步法

① 业务预测 → ② 压测基线 → ③ 资源换算 → ④ 成本与冗余评审

贯穿案例:社区电商大促

数值
日常/大促 DAU80万 / 200万
人均订单0.4 单/天
大促 2h 订单占比45%
SLAP99<400ms,可用性 99.95%
现状order-api 3副本 2C4G

9.2 流量估算(手算例题)

公式 A:日均峰值段

峰值 QPS = DAU × 人均次数 / 86400 × 峰值系数
200万 × 0.4 / 86400 × 5 ≈ 46.3 QPS

公式 B:大促集中窗口(设计值)

峰值 QPS = DAU × 人均订单 × 集中度 / 大促秒数
= 2000000 × 0.4 × 0.45 / 7200 ≈ 50 QPS(下单写)

公式 C:秒杀毛刺(Top 1% 分钟,2% 日单)

毛刺 QPS = 2000000 × 0.4 × 0.02 / 60 ≈ 267 QPS

公式 D:网关并发

并发 ≈ Σ(QPS × 平均RT秒) × (1+余量)
下单50×0.15 + 商品200×0.05 + 列表150×0.08 ≈ 29.5 → +30% ≈ 38

公式 E:全站等效 QPS(下单占写 25%,读:写=3:1)

全站 ≈ 50/0.25 × 4 = 800 QPS

9.3 k6 压测与副本公式

import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
  stages: [
    { duration: '2m', target: 20 }, { duration: '5m', target: 60 },
    { duration: '3m', target: 100 }, { duration: '2m', target: 0 },
  ],
  thresholds: { http_req_failed: ['rate<0.001'], http_req_duration: ['p(99)<400'] },
};
export default function () {
  const res = http.post('http://order-api.staging/api/v1/orders',
    JSON.stringify({ userId:`u-${__VU}`, skuId:'SKU-BENCH', qty:1 }),
    { headers:{'Content-Type':'application/json'} });
  check(res, { '201': r => r.status===201 });
  sleep(0.1);
}

压测结果(单 Pod 2C4G)

VUQPSP99错误率CPU%
2095120ms0%42
40175280ms0%68
60210380ms0.1%82
80228520ms1.4%95

结论:安全水位 QPS≤180(P99<400ms,错误<0.1%)。

副本数 = ceil(目标QPS / 单Pod安全QPS × (1+冗余率))
场景计算工程取值
大促 50 QPS,冗余35%ceil(50/180×1.35)=13(N+1+跨AZ)
毛刺 267 QPSceil(267/180×1.35)=26(ch16 ARB)
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: order-api-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: order-api
  minReplicas: 3
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70

9.4 中间件容量速算

以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。