单个接口并发测试为何导致大量老年代对象?
在进行接口并发测试时,堆内存从不到 100MB 暴增至近 1GB,这是一个令人费解的问题。虽然新生代设置了 100MB,但令人疑惑的是,为什么如此多的对象会进入老年代。
即使线程已结束,手动触发垃圾回收(GC)也无法释放内存,原因似乎在于某些对象正在持有大量资源。通过堆转储并将其加载到 IDE(如 IntelliJ IDEA),发现对象持有者为 Tomcat 的 HTTP 响应头,该头文件体积庞大。
解决方案:
经过进一步分析,发现可以缩小 HTTP 响应头的体积。通过调整服务器配置,减小响应头的大小,内存占用得以降低。
以上就是高并发接口测试下老年代内存暴涨:HTTP响应头惹的祸?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2599221.html