首页 > 基础资料 博客日记
Java21对虚拟线程进行http压测使用不同的GC
2023-11-05 20:27:34基础资料围观456次
这篇文章介绍了Java21对虚拟线程进行http压测使用不同的GC,分享给大家做个参考,收藏Java资料网收获更多编程知识
JDK21默认GC是G1.
JDK21除了G1外,还可以使用ZGC(Java11预览、Java15正式版),Java21在ZGC基础上继续推出了分代ZGC,目前还是试行阶段。
开启ZGC:
java -XX:+UseZGC -jar myapp.jar
开启ZGC,并试用分代ZGC
java -XX:+UseZGC -XX:+ZGenerational -jar myapp.jar
以下的对一个启用tomcat虚拟线程的spring boot 项目分别以默认GC/ZGC/分代ZGC进行高并发测试,测试过程中,对该app占用操作系统的物理内存进行统计,然后形成统计折线图:
三种GC下的压测对并发性能几乎无差别的情况下,三者的内存表现大为不同,特别是G1与两个ZGC的差异尤为明显。
虽然本次比较测试的场景比较单一,但大致能看出ZGC的垃圾回收效率比G1高。
ZGC在垃圾回收的优势主要是:
- 低卡顿: 最大暂停时间不超过10 ms
- 高吞吐: 短时间可以回收大量内存
- 大堆内存支持:对于大规模的应用程序,ZGC 的能力非常有价值,可以降低碎片化的影响。
- 分区化处理:对不同大小的内存进行分区化处理,可以加快小内存回收
代码已上传gitee
文章来源:https://www.cnblogs.com/jiayuan2006/p/17811086.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- springboot~3.x项目中使用集成测试
- Java测试类、工具类与JavaBean对比解析
- SpringBoot-日志
- springboot~http2的支持
- 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
- Web server failed to start. Port 8080 was already in use. 端口被占用
- Springboot 项目配置多数据源
- 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
- 剑指offer-23、搜索⼆叉树的后序遍历序列
- 一个表示金额的数字是 100000000L,这是多少米?