单个接口并发测试为何导致大量老年代对象?
在进行接口并发测试时,堆内存从不到 100MB 暴增至近 1GB,这是一个令人费解的问题。虽然新生代设置了 100MB,但令人疑惑的是,为什么如此多的对象会进入老年代。
即使线程已结束,手动触发垃圾回收(GC)也无法释放内存,原因似乎在于某些对象正在持有大量资源。通过堆转储并将其加载到 IDE(如 IntelliJ IDEA),发现对象持有者为 Tomcat 的 HTTP 响应头,该头文件体积庞大。
解决方案:
经过进一步分析,发现可以缩小 HTTP 响应头的体积。通过调整服务器配置,减小响应头的大小,内存占用得以降低。
以上就是高并发接口测试下老年代内存暴涨:HTTP响应头惹的祸?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号