秒杀系统优化篇

页面的动态化显示

通过底层mapper->dao->service->controller->view之后,将原本只能将静态页面复制到资源文件夹下进行访问变成了通过http请求和参数进行访问各种页面,即页面的动态化访问

jmeter的压测

在设定了jmeter测试参数后,进行了单一页面的测试,结果达到:
17ms最低,13s最高,吞吐量175.5/s的测试结果
在这里插入图片描述

于是进行用户数据的模拟达到更为接近实际的测试结果:
结果见下图
18ms最低,9s最高,吞吐量150.6/s的测试结果这里模拟的是100个用户每个用户发起100个请求即模拟万次请求

优化点1:静态数据优化之redis缓存

1.旨在降低与数据库的优化,将静态数据进行缓存,之后访问将会很快
2.@EnableCaching//开启声明式缓存,利用注解控制缓存的读写
@Cacheable(value = “goods”,key="#goodsId")//key:goods::1//第一次访问的时候将方法的结果放入缓 存,第二次直接从缓存中提取数据
3.reids的配置:
在这里插入图片描述
4.缓存结果
在这里插入图片描述
结果见上图
6ms最低,314ms最高,吞吐量665.2/s的测试结果

优化点2:静态化技术

1.将动态页面生成html静态化页面
db->静态化程序经过freemarker生成html->nginx->浏览器->用户
2.nginx本身内置缓存,第一次会慢一些,第二次就会快
在这里插入图片描述
结果见上图
1ms最低,2s最高,吞吐量1196.3/s的测试结果
但是静态化之后,难以更改数据

优化点3:静态化技术

1.使用任务调度:每5分钟进行页面的静态化处理
2.动静数据分离技术:静态页面效率固然高,但是往往页面中也存在动态数据,就肯定不能对这种数据进行静态化处理
浏览器->nginx(html发起ajax请求,通过nginx向后端发起请求填充到html)->tomcat->db
通过配置nginx文件来进行动态数据处理与访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值