压力测试,通过模拟真实用户的行为,推算出系统在承受指定用户数时,需要多少台机器支撑,即规划服务器资源,保障用户体验。
压测名词解释
- QPS
Queries Per Second。它表示系统 1 秒钟能够处理的请求数量。
访问指标解释
- PV
Page Views。一定时间范围内(时间范围可以是一天、一个月等自定义的时间段),用户每请求一次服务,记录 1 个 PV。用户多次请求同一服务,PV 值累计多次。 - UV
Unique Visitors。一定时间范围内,用户每请求一次服务,记录 1 个 PV。相同用户多次请求同一服务,只计算为 1 个独立访客。
如何计算压测指标
- 明确压测的目标
例如,单台机器的性能达到 100 QPS;能够满足 100 万用户同时在线等。
- 套公式
公式一:(总 PV 数 *
80%)/ (每天的秒数 *
20%)= 峰值时间每秒钟请求数(峰值 QPS)
公式一中的 80 % 和 20 % 来自压测原则:每天 80 %的访问量集中在 20 % 的时间里,这 20 % 的时间称为峰值。
公式二: 峰值时间每秒钟请求数(峰值 QPS)/(单台机器的 QPS)= 需要的机器数量
假设网站每天的 PV 约为 3000 万,该系统的 QPS 是多少?
(30,000,000 *
0.8)/(86,400 *
0.2)≈ 1389
假设单台机器的 QPS 是 69,需要规划多少台机器?
1389 / 69 ≈ 20