jmeter压测jvm内存
jmeter压测步骤
1.创建线程组
2.取样器创建http请求
3.监听器创建汇总报告
4.监听器创建聚合报告 报告中的时间单位为毫秒
jvm内存调优
一般是针对堆区进行调优,使用的工具jconsole和jvisualvm
jconsole:
使用win+r打开命令行,输入jconsole即可进行使用
推荐使用jvisualvm:
win+r 输入jvisualvm即可打开. 可以安装gc插件,查看gc可视化界面
在jvisualvm中可以看到
jvm的gc状态:
线程的状态:
类对象的创建
cpu的使用状态:
堆内存的使用情况:
类对象的创建情况
活动线程
还可以看到是否发生了死锁
经过测试可以发现,
1.中间件越多,吞吐量就越低.其主要的损耗主要发生在中间件和微服务之间的网络交互上面了.
2.业务:
1.db数据库查询(sql优化)
2.模板的渲染速度(thymeleaf开发的时候关闭缓存,线上开启缓存)
3.静态资源的访问
优化方式: 1.首页渲染开启缓存,2.优化数据库,加索引3.关闭日志,日志级别降低到error再打印4.像一级分类二级分类三级分类这种需要递归查询数据库的业务,可以使用stream流,一次性将数据读取到内存中, 然后在内存中对数据进行筛选,5.最后, 缓存神器redis登场