mall4j商城压力测试报告.md 2.4 KB

mall4j商城压力测试文档

一、测试工具

工具:使用阿里云性能测试PTS分别进行单机,性能测试PTS参数相如下:

img_2 img_2

二、测试-普通订单

单机部署压测报告:

服务器列表:

  • 总服务器*1(4核8g)
  • RDS Mysql数据库*1(4核8g)
  • RDS Redis数据库(1-4 GB)

java服务部署情况

使用Java -jar方式部署启动

单机压测报告:

img_2

  • 每秒事务处理量tps(平均/峰值) :1110/1210
  • 成功率(请求/业务):100%
  • 平均RT(业务响应时间ms):451
  • 异常数(请求/业务) :0/0
  • 总请求数6.5w

RDS Mysql数据库*1:

CPU使用率(%):40%

内存使用率(%):15%

RDS Redis数据库*1:

CPU使用率(%):39%

内存使用率(%):17%

压测结果分析:

提交订单的处理流程分为以下几步:

  • 提交订单-锁定并更改sku库存(redis操作)
  • 订单相关数据插入到MySQL

因此在单机部署的环境中,mysql相关操作限制了订单服务的性能。

三、测试-秒杀订单

服务器列表:

  • 总服务器*1(4核8g)
  • RDS Mysql数据库*1(4核8g)
  • RDS Redis数据库(1-4 GB)

java服务部署情况

使用Java -jar方式部署启动

单机压测报告:

img_2

  • 每秒事务处理量tps(平均/峰值) :1991/2191
  • 成功率(请求/业务):100%
  • 平均RT(业务响应时间ms):251
  • 异常数(请求/业务) :0/0
  • 总请求数38.4w

RDS Mysql数据库*1:

CPU使用率(%):6%

内存使用率(%):14%

RDS Redis数据库*1:

CPU使用率(%):79%

内存使用率(%):17%

压测结果分析:

提交订单的处理流程分为以下几步:

  • Redis(开启aof) - 存储订单数据(提高下单性能),后续再插入MySQL(异步)

秒杀订单纯redis操作,性能受到redis连接数、cpu、内存性能限制

本次压测显示,秒杀订单在当前架构下单机TPS可达约2000,且成功率稳定为100%,系统整体表现良好。 但由于其重度依赖Redis,单机Redis可能会成为性能瓶颈。未来可通过Redis增加cpu核心数进一步提升系统承载能力。