LiteMall性能测试——JMeter压测全流程——大三项目实战记录(四)

LiteMall性能测试——JMeter压测全流程——大三项目实战记录(四)

项目背景

性能测试课程作业:对开源商城系统LiteMall进行压力测试,评估系统在不同并发量下的性能表现,给出优化建议。

测试环境

项目 配置
被测系统 LiteMall(Spring Boot + Vue)
操作系统 CentOS 虚拟机
压测工具 Apache JMeter 5.6.3
监控工具 ServerAgent(端口4444)
监控指标 CPU、内存、网络IO、磁盘IO

测试场景设计

场景1:首页浏览(基准测试)

  • 并发用户:10/50/100/200
  • 目的:获取系统基础吞吐量

场景2:商品搜索

  • 并发用户:50/100
  • 搜索关键词:随机从商品库抽取

场景3:用户登录+下单(混合场景)

  • 比例:80%浏览 + 15%搜索 + 5%下单
  • 并发:100/200/500

场景4:极限测试

  • 逐步加压,找到系统吞吐量拐点

JMeter脚本结构

测试计划
├── 线程组(并发用户配置)
│   ├── HTTP请求默认值
│   ├── HTTP Cookie管理器
│   ├── CSV数据配置(测试账号/商品ID)
│   ├── HTTP请求 - 首页
│   ├── HTTP请求 - 搜索
│   ├── HTTP请求 - 登录
│   └── HTTP请求 - 下单
├── 监听器 - 聚合报告
├── 监听器 - 查看结果树
└── 监听器 - 响应时间图

关键发现

并发数 平均响应时间 TPS 错误率 CPU使用率
10 120ms 83 0% 15%
50 380ms 131 0% 45%
100 890ms 112 0.2% 78%
200 2100ms 95 2.5% 95%
500 超时 - 15% 100%
  • 性能拐点:约120并发时响应时间开始陡增
  • CPU瓶颈:200并发时CPU打满,数据库连接池耗尽
  • 建议:加Redis缓存热点商品、数据库连接池调优、静态资源上CDN

ServerAgent监控配置

在CentOS上启动ServerAgent:

java -jar CMDRunner.jar --tool PerfMonAgent --udp-port 4444 --tcp-port 4444

JMeter端添加PerfMon监听器,实时采集CPU/Memory/Network指标。

小结

JMeter上手不难,难的是设计合理的测试场景和正确解读数据。压测不是把并发数拉满就完事,要关注响应时间分布(P99/P95)、错误类型(超时还是业务错误)、资源瓶颈(CPU/内存/IO哪个先满)。


大三博客系列,持续更新中...

posted @ 2026-06-28 17:07  C(5,3)  阅读(30)  评论(0)    收藏  举报