系统介绍
排课系统,是一款功能全面的教务管理平台,主要用于学校或培训机构的智能化课程安排与资源管理。系统包含六大核心模块:班级管理(维护班级信息及学生分组)、教师管理(管理教师档案及授课资质)、排课管理(智能生成课表并处理调课冲突)、教室管理(统筹教室资源及使用状态)、课程管理(设置课程属性及教学大纲)以及用户管理(控制角色权限及系统访问)。通过多维度数据联动,系统可自动规避时间/场地/教师冲突,支持可视化拖拽排课、课表实时同步、多条件查询统计等功能,有效解决传统人工排课效率低、易出错的问题,实现教务工作的数字化与流程优化。
版本信息
|
项目名称 |
版本号 |
测试环境 |
|
博客系统 |
v1.0 |
apache-tomcat-8.5.100 mysql 5.7 |
测试目标
- 验证系统在预期负载下的性能表现(如响应时间、吞吐量等)。
- 识别系统瓶颈(CPU、内存、磁盘I/O、网络等)。
- 评估系统在高负载或峰值情况下的稳定性。
测试工具:
|
工具 |
配置说明 |
|
Jmeter |
提供并发请求能力 |
系统响应事件判断原则
|
指标类型 |
具体指标 |
健康阈值 |
警告阈值 |
危险阈值 |
判断原则 |
|
吞吐量 |
TPS(事务数/秒) |
≥预期值的120% |
达到预期值 |
<预期值的80% |
越高越好,但需与响应时间平衡;达到峰值后不再增长则系统出现瓶颈 |
|
响应时间 |
平均值(Average) |
≤1秒(普通系统) |
≤2秒 |
>3秒 |
核心交易需≤300ms;90%请求应≤平均值的2倍 |
|
90%百分位(90th %) |
≤1.5秒 |
≤2.5秒 |
>3.5秒 |
|
|
|
99%百分位(99th %) |
≤SLA规定值(如2秒) |
≤SLA的120% |
>SLA的150% |
|
|
|
错误率 |
HTTP错误率 |
≤0.1% |
≤1% |
>5% |
生产环境需≤0.1%;压力测试≤1%可接受;错误率突增需立即分析 |
|
系统资源
|
CPU使用率 |
≤60% |
≤75% |
>85% |
持续>75%可能成为瓶颈;结合TPS曲线判断 |
|
内存使用率 |
≤70%(无OOM) |
≤80% |
>90%或频繁GC |
关注内存泄漏(持续增长) |
|
|
磁盘I/O等待 |
≤5ms |
≤10ms |
>20ms |
队列长度应<磁盘数×2 |
|
|
网络带宽使用率 |
≤50% |
≤70% |
>80% |
|
|
|
稳定性 |
TPS波动幅度 |
<10% |
<20% |
>30% |
长时间测试(>30分钟)波动应平缓 |
|
内存泄漏 |
无持续增长 |
每小时增长<5% |
每小时增长>10% |
|
实验步骤
准备测试环境,安装配置JDK,进入华为源进行下载版本,然后进行安装,配置环境变量
下载Jmeter,登录官网进行下载
班级搜索,抓取登录的数据包,通过F12打开开发者工具,然后登录系统,抓取登录的协议包
编写脚本
对结果增加断言,用于验证 HTTP 请求的响应内容是否符合预期
参数化用户:右键线程组 → Add → Config Element → CSV Data Set Config
测试记录及结论
班级搜索
|
功能 |
用户登录系统后,进行班级搜索 |
|
性能描述 |
参数化班级信息,进行班级搜索,查看系统性能情况 |
|
方法 |
模拟30线程并发操作,启动时间10s,持续120s,增加数据响应断言,判断是否成功。 |
|
前提条件 |
服务正常 |
聚合报告
响应时间
吞吐量
30线程并发测试(10秒启动,持续120秒)的结果如下:样本数40366,事务成功率100%。测试成功,系统在负载下表现稳定但存在波动:吞吐量:班级搜索接口平均吞吐量达336事务/秒(峰值400),表明并发处理能力达标;响应时间:90%请求响应时间≤94ms(平均85ms),符合性能预期,但存在长尾延迟(最大1313ms);稳定性:响应时间波动明显(70ms~160ms),可能与资源竞争或外部依赖有关,建议结合服务器监控进一步分析。
结论:核心接口满足需求,但需优化长尾请求并验证总体异常来源。
添加课程
|
功能 |
用户登录系统后,进行班级搜索 |
|
性能描述 |
参数化班级信息,进行加添班级操作,查看系统性能情况 |
|
方法 |
模拟5线程并发操作,启动时间10s,持续120s,增加数据响应断言,判断是否成功。 |
|
前提条件 |
服务正常 |
聚合报告
响应时间
吞吐量
本次测试模拟5线程并发操作,启动时间10秒,持续运行120秒,测试结果显示系统整体表现稳定但存在一定波动。在测试期间共完成6077次"添加课程"请求,平均响应时间为91毫秒,中位数为87毫秒,90%请求在109毫秒内完成,最大响应时间为489毫秒,未出现异常情况。从TPS图表可见,系统吞吐量稳定在50.6次/秒左右,初期逐步上升后保持平稳,但在测试后期出现明显波动;响应时间图表显示多数请求维持在100毫秒左右,但在00:01:12等时间点出现短暂峰值(最高260毫秒),表明系统在持续压力下可能出现短暂性能下降,建议进一步优化高负载时的资源分配策略。
心得和体会
本次针对排课系统的性能测试,通过模拟不同并发场景(班级搜索30线程、添加课程5线程),验证了系统在高负载下的稳定性与响应能力,同时也暴露出一些潜在优化点。以下为测试过程中的主要体会:
系统整体表现良好,但需关注长尾延迟。并发处理能力达标:班级搜索接口在30线程并发下,平均吞吐量达336 TPS(峰值400),且事务成功率100%,说明系统具备良好的并发处理能力,能够满足日常教务高并发查询需求。响应时间波动明显:尽管90%的请求响应时间控制在合理范围(班级搜索≤94ms,添加课程≤109ms),但存在少量长尾请求(班级搜索最大1313ms,添加课程峰值489ms),这可能与数据库锁竞争、缓存失效或外部依赖(如第三方服务)有关。建议通过日志分析和链路追踪定位具体瓶颈。
资源竞争与负载均衡需优化。吞吐量波动反映资源瓶颈:添加课程接口的TPS在测试后期出现波动(50.6 TPS±),同时响应时间短暂攀升至260ms,表明系统在持续压力下可能出现线程阻塞或资源竞争(如数据库连接池耗尽、CPU调度延迟)。需结合服务器监控(CPU/内存/I/O)确认具体原因,并优化线程池配置或引入动态扩缩容机制。
测试场景设计的启示:真实场景模拟的重要性:班级搜索测试中,高并发查询未触发异常,但实际使用中可能伴随复杂条件筛选(如跨班级、跨教师联合查询),后续需补充多维度复合查询的压测。
总结:本次测试验证了排课系统核心功能在高并发下的可用性,但长尾延迟和资源竞争问题提示我们需要进一步优化代码逻辑与基础设施配置。后续需结合更全面的场景设计、实时监控及自动化测试,持续提升系统的稳定性和用户体验。
浙公网安备 33010602011771号