页面的动态化显示
通过底层mapper->dao->service->controller->view之后,将原本只能将静态页面复制到资源文件夹下进行访问变成了通过http请求和参数进行访问各种页面,即页面的动态化访问
jmeter的压测
在设定了jmeter测试参数后,进行了单一页面的测试,结果达到:
17ms最低,13s最高,吞吐量175.5/s的测试结果
于是进行用户数据的模拟达到更为接近实际的测试结果:
结果见下图
18ms最低,9s最高,吞吐量150.6/s的测试结果
优化点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文件来进行动态数据处理与访问