帮前同事架构师定位分析一则配置引起fullgc频繁问题定位的案例

 前几天上家公司的同事,也是以前公司的java架构师找到我,让我帮他分析一个性能问题,因为他们压测工程师发现一个内存不释放的问题

交流内容如下

人家上来直接问我啥原因,肯定我也不知道,哈哈

同事只是给我发了一个1.98g的dump文件,就让我分析问题

拿到这个dump文件,通过MAT工具打开

到这里,我这边可以看到是/web/works/channels/2/works?type=KITTEN&page=1&limit=15请求接口导致的问题

初步怀疑是是不是开的线程池去 请求,而是这个请求的对象是4M,属于大对象,估计是采用了 线程池不断发送http 请求 导致对象堆积 无法释放,所以最终具体怎么解决还是需要同事那边看下业务代码


https://blog.csdn.net/wangchengsi/article/details/3904586?utm_source=blogxgwz1

https://blog.csdn.net/antswallow/article/details/4507729

MessageBytes 小平 看看代码里的这个,这个buffer都是这个MessageBytes引用

https://blog.csdn.net/wangyangzhizhou/article/details/44004501

至此这个问题总算解决了,就是一个max-http-header-size参数配置引起的性能问题

https://blog.csdn.net/sinat_24044957/article/details/82493561(其实网上也有人踩过坑)

通过这个问题,可以在性能优化这块可以有所积累和认识

猜你喜欢

转载自www.cnblogs.com/qmfsun/p/10593870.html
今日推荐