基于SpringBoot+Nginx+Redis的电子商城(四)
项目实现
普通用户功能展示
虾皮SHOPEE商城为用户提供以下购物功能,满足用户购物需求。
(1)进入首页
(2)用户注册
(3)用户登录
(4)搜索商品
(5)分类检索
(6)查看商品推荐
(7)浏览商品
(8)添加购物车
(9)修改购物车
(10)提交订单
(11)支付订单
(12)退出登录
(13)查看个人信息
(14)修改个人信息
(15)查看热销榜
后台管理员功能展示
网站测试
基准测试过程
录制测试脚本
分别录制浏览、登录、添加购物车、提交订单四个脚本,并设置事务与集合点,添加文字检查点,设置参数化。
设置场景,分别进行基准测试
基准测试结果
并发测试过程
设置场景,进行并发测试
并发测试结果
测试结果说明
在评估系统性能的过程中,首先需要确定平均事务响应时间是否满足用户使用的需求,在满足用户所需要的功能后,用户最在意的就是网站是否运行流畅,响应时间是否在用户预期内,能否给予用户一个较好的体验感。查看基准测试、并发测试测试可以发现,浏览、登录、添加购物车、提交订单这四个最常用事务响应时间均在2s以内,即用户可以接受的等待时间以内。
(1)Average Transactions Response Time 平均事务响应时间
基准测试、并发测试的添加购物车、登录、浏览、提交订单四个事务平均值均在2s以内,属于优秀的响应时间。
(2)Hits per Second 每秒点击次数 & Throughput 吞吐量
并发测试中,随着压力的增大, 并发用户数增多,会出现突然降低的的过程
(3)% Disk Time
基准测试中平均值为0.41%,最大值为1.471%
并发测试中平均值为0.918%,最大值为6.300%
由Disk Time平均值和最大值可以看出,磁盘用于读/写活动所用时间的百分比在一个可接受的范围内(一般来说30%以内最佳),不存在因用户加载网页或注册登录等调用I/O操作导致系统卡顿的情况。
(4)% Idle Time
基准测试中平均值为99.615%,最大值为99.831%
并发测试中平均值为99.374%,最大值为99.828%
Idle Time表示磁盘系统没有处理请求且队列中没有请求的时间百分比,所有测试结果均大于99%,充分说明系统中存在请求较少,处理速度较快。
(5)% Processor Time
基准测试中平均值为15.655%,最大值为39.667%
并发测试中平均值为18.539%,最大值为30.228%
Processor Time一般表示CPU利用率,当其范围为75%-95%时说明充分利用了处理器,在基准测试和并发测试中该值过小,说明尚未达到CPU瓶颈,仍需修改为更大的负载压力。
总的来说,Shopee购物网站性能良好,但仍存在一些问题,需要做出一些优化。
(1)添加购物车场景。平均事务响应时间的数据显示,该场景有时候会存在响应时间较长的问题。
(2)并发情况。每秒点击次数和吞吐量显示,随着并发用户增多,系统压力增大,系统性能会迅速下降。
解决方法:
(1)更换网站代码中读写操作的SQL执行方式,提高I/O效率
(2)调整代码业务逻辑,添加事务锁,避免发生死锁
(3)更换处理器,从源头上提升硬件性能