首页/数据/NoSQL 速查/上线前压测要点
选型与架构50 条

上线前压测要点

压测的价值取决于还原度:查询混合比例、数据总量与分布(热点 key)、缓存命中率都要接近生产,否则得到的是好看但无意义的数字。观察指标以 p99 延迟与资源饱和点为主,并做故障注入验证降级路径。

NoSQL 速查数据更新于 2026-10-12

k6 压测脚本骨架

k6 压测脚本骨架
import http from "k6/http";
import { sleep } from "k6";

export const options = {
  stages: [
    { duration: "2m", target: 50 },   // 逐步加压
    { duration: "5m", target: 200 },  // 稳态
    { duration: "1m", target: 0 },
  ],
  thresholds: { http_req_duration: ["p(99)<300"] },
};

export default function () {
  http.get("https://api.example.com/items?limit=20");
  sleep(1);
}
数据准备导入生产量级的数据:索引大小、分片分布与热点都在数据里体现
模型读写混合比例、查询类型分布、思考时间贴近真实流量
观察p99 延迟、错误率、连接与队列、CPU/IO 饱和点、复制延迟
故障注入演练单节点下线、缓存失效、依赖超时下的表现与降级是否生效
压测客户端的机器与网络也可能成为瓶颈:出现吞吐上不去时先确认客户端资源与连接复用,再判断服务端瓶颈。

易错点

  • 在空库或小数据量上压测:索引未膨胀、缓存全命中,上线后表现完全不同
  • 只压单条查询类型:真实流量是混合负载,读写互相影响才会暴露瓶颈

数据来源与参考

  • Grafana k6 Docs: Test types
  • Elasticsearch Guide: Rally(压测工具参考)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌