## mall4j商城压力测试文档 ## 一、测试工具 ##### **工具**:使用阿里云性能测试PTS分别进行单机,性能测试PTS参数相如下: ![img_2](../img/压力测试/img.png) ![img_2](../img/压力测试/img_1.png) ## 二、测试-普通订单 ### 单机部署压测报告: #### 服务器列表: - 总服务器*1(4核8g) - RDS Mysql数据库*1(4核8g) - RDS Redis数据库(1-4 GB) #### java服务部署情况 使用Java -jar方式部署启动 #### 单机压测报告: ![img_2](../img/压力测试/img_2.png) - 每秒事务处理量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](../img/压力测试/img_3.png) - 每秒事务处理量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核心数进一步提升系统承载能力。