原因:
MAX-HTTP-HEADER-SIZE 引发的一起血案(附:查GC方法)
最近在做项目的时候发现其中一个服务出现了性能上的问题,随去查堆内存的使用情况(在cmd命令窗口直接输入Jvisualvm ,然后连上对应的服务即可查看)。
查堆内存使用情况
- 打开cmd命令窗口Jvisualvm
- 查看堆内存使用情况
分析
然后找到占用空间的类,当时是byte[]占用99%的空间,然后点开查看实例发现是http占据了绝大部分的空间(如图)。
突然灵光一动想起有这么一个参数
server:
tomcat:
max-http-header-size: 104857600
将上述参数去除后性能得到了大幅度的提升。