性能测试报告

本报告通过本地 JMeter 与阿里云 PTS 测试,在确保系统无单点性能故障前提下,选取最耗性能的“进入考试”接口作为测试标准,聚焦接口 API 并发性能,既获取了云帆考试系统的真实性能指标,也为客户选购服务器硬件提供了数据依据;本地测试适用于低并发场景,云测试则在高并发下更精准;基于云端数据库(性能充足假设),实际硬件选购需按具体并发需求确定。

测试硬件信息

数据库

数据库类型:阿里云RDS
数据库规格:弹性数据库,内存[1-16G],CPU[0.5-8核],最大连接数10520

Redis

Redis类型:云数据库Tair(兼容Redis)
Redis规格:内存1GB/最大连接数10000

应用服务器

基于阿里云Serverless应用引擎SAE,可实现POD弹性伸缩,便于测试不同服务器配置与数量组合,并基于相同实例规格生成性能报告。

测试场景

模拟用户登录系统后,在瞬时发起高并发请求(如1000并发用户),批量调用进入考试接口,并监测其响应速度与关键性能指标。

由于进入考试涉及较为耗时的业务操作(需执行大量数据读写),该接口的响应时间在10秒以内通常可接受。

线程组循环1次,快速达到并发峰值

在1秒内集结全部线程,实现并发操作

并发量说明

系统的并发处理能力(并发量) 不等于其可承载的实际用户总数。实际可支撑的并发用户数通常为并发量的 3 倍或更高,具体倍数需根据业务场景动态评估。

关键差异解析

在线用户并非时刻与系统进行高频交互。例如:

  • 用户可能存在阅读、思考、短暂离开等行为(即“思考时间”);
  • 系统可充分利用操作间隙处理其他请求,从而提升整体承载效率。

考试场景示例

  • 并发量指标: 500(即系统每秒可同时处理 500 个请求)
  • 实际承载用户数: ≈1500 名考生
  • 原因分析:
    考生在考试过程中呈现 低频率、间歇性操作特征
    • 80% 时间用于读题、思考;
    • 仅在提交答案、翻页时产生瞬时请求;
    • 系统可高效复用闲置资源处理其他考生请求。

公式化表达:
可承载用户数 = 并发量 × 承载系数(K)
其中 K ∈ [3, N],由业务场景的交互密度与资源消耗模型决定。

本地JMETER测试

以下为本地JMETER测试出的性能指标,供参考。

POD规格:4核CPU+4G内存 * 1台
并发数量:500
响应时间:登录868毫秒,进入考试4622毫秒

POD规格:4核CPU+4G内存 * 2台
并发数量:800
响应时间:登录406毫秒,进入考试4770毫秒

POD规格:4核CPU+4G内存 * 3台
并发数量:1000
响应时间:登录477毫秒,进入考试5509毫秒

POD规格:4核CPU+4G内存 * 5台
并发数量:1500
响应时间:登录904毫秒,进入考试6784毫秒

POD规格:4核CPU+4G内存 * 10台
并发数量:3000
响应时间:登录1780毫秒,进入考试10303毫秒

POD规格:8核CPU+8G内存 * 1台
并发数量:500
响应时间:登录383毫秒,进入考试3564毫秒

POD规格:8核CPU+8G内存 * 1台
并发数量:800
响应时间:登录646毫秒,进入考试4948毫秒

POD规格:8核CPU+8G内存 * 2台
并发数量:1500 响应时间:登录1002毫秒,进入考试6370毫秒

POD规格:8核CPU+8G内存 * 3台
并发数量:2000 响应时间:登录1002毫秒,进入考试6370毫秒

测试脚本下载

若需对已私有化部署的系统进行性能测试,请下载以下测试脚本并按实际需求修改参数:

阿里云PTS云测试

鉴于本地测试环境存在固有局限——如网络带宽瓶颈及单机硬件资源(CPU、内存)约束——难以模拟真实高并发场景并获取精确性能数据。为克服此局限并确保评估结果的准确性与可靠性,我们采用阿里云PTS(性能测试服务)进行云端压测。PTS凭借其弹性资源池与分布式架构,能够有效规避单点瓶颈,生成接近真实业务压力的负载模型,从而为系统性能指标提供高置信度的基准数据。

  • 服务器配置
    • POD规格:8核CPU+8G内存 * 5台
    • 并发数量:8000
    • 响应时间:登录2119.15毫秒,进入考试3295.05毫秒

报告下载

https://cdn.yfhl.net/images/docs/F7G636UN_5pod-8cpu-8gm-8000qps_20250528194449.pdfopen in new window

测试结论总结

  • 纵向扩展优先:应用服务器应优先提升单台配置(增加CPU核心与内存),仅当单机性能不足时再考虑横向扩展。
  • 横向扩展存在衰减效应
    • 增加多台服务器时性能呈衰减趋势
    • 服务器过多可能导致协调损耗(如任务轮询机制),反而降低负载能力
  • 本地测试存在局限性
    • JMeter本地测试受硬件/网络环境影响
    • 高并发场景建议采用第三方云测试平台获取准确性能数据