day93-性能压测-优化-简单优化吞吐量测试(调整日志级别,开启thymeleaf模板,加索引)

本文通过压力测试揭示了网站性能瓶颈所在,并实施了针对性优化措施,包括开启模板缓存、调整数据库日志级别与添加索引等,显著提升了网站的响应速度和吞吐量。

现在压测单独访问首页不经过中间件的请求

1.压测获取一级分类

还是像前面那样添加线程组,添加http请求

运行一段时间稳定后,查看聚合报告

根据聚合报告填表

打开jvisualvm发现minor gc因为伊甸园区内存小所以很频繁,非常影响效率

2.压测获取所有三级分类数据

添加http请求

查看聚合报告

填表,这里响应时间有点离谱了,响应时间就做个参考,主要还是看吞吐量,如果用另外一台机器压测,结果数据会标准点,这里只做参考用于发现问题即可

3.压测获取首页全部内容(除一级分类外还包括页面的静态资源)

在高级内如下设置下

添加http请求,与压测一级分类时一样

查看聚合报告

填表

4.思考优化方案

上一篇可以明显的看到中间件对性能的影响,现在列举下压测这么久了解到的引起性能损失的点

(1)中间件:中间件越多,性能损失越大,浪费在网络交互上了

(2)db:这个不用多说

(3)tymeleaf:模板的渲染速度

(4)静态资源:  静态资源还放在项目中,也要向tomcat发送请求获取

5. 动手

(1)tymeleaf模板缓存开启

tymeleaf模板缓存我们之前是关闭的,现在打开

不获取静态资源

再次测试

跟之前对比吞吐量提升了几十

之前230多,现在290左右

(2)数据库方面优化

调整日志级别,添加索引

之前每一次数据库查询都会打印出来,那是本地,打上环境改成error级别

改掉后

添加索引,我们用parent_cid这个字段查询的一级分类

添加计算查询时间

    @Override
    public List<CategoryEntity> findCatelog1s() {
        long l = System.currentTimeMillis();
        List<CategoryEntity> categoryEntities = this.list(new QueryWrapper<CategoryEntity>().eq("parent_cid", 0));
        System.out.println("消耗时间:"+(System.currentTimeMillis()-l));
        return categoryEntities;
    }

添加索引

添加索引前

添加索引后 从平均值上来看还是快了不少

 

6.优化后的压测

在上面做了开启tymeleaf缓存,调整日志级别为error及添加索引后再来重新压测之前的请求

一级分类

三级分类

全量数据(一级分类+静态资源)

填表

发现除了全量数据的获取之外,其它请求的性能都有了显著提升,为啥呢,静态资源的请求还是通过tomcat

这就涉及到下一篇的nginx动静分离了

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的封不觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值