max-http-header-size 10000000 引发的血案

原因:

MAX-HTTP-HEADER-SIZE 引发的一起血案(附:查GC方法)

最近在做项目的时候发现其中一个服务出现了性能上的问题,随去查堆内存的使用情况(在cmd命令窗口直接输入Jvisualvm ,然后连上对应的服务即可查看)。

查堆内存使用情况

  1. 打开cmd命令窗口Jvisualvm

    这里写图片描述

  2. 查看堆内存使用情况

    这里写图片描述

分析

然后找到占用空间的类,当时是byte[]占用99%的空间,然后点开查看实例发现是http占据了绝大部分的空间(如图)。

这里写图片描述


这里写图片描述

突然灵光一动想起有这么一个参数

server:
  tomcat:
    max-http-header-size: 104857600

将上述参数去除后性能得到了大幅度的提升。

猜你喜欢

转载自blog.csdn.net/fujiakai/article/details/119811062