www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在SpringBoot项目中,我们可以通过如下配置来设置header的大小:

server.max-http-header-size=102400

但如果此参数设置不好,便会引来OOM等相关问题,特别是并发的时候。

max-http-header-size使用场景

该参数用来设置http请求头的大小,默认值为8k,也就是8 * 1024的大小。

那么,什么时候会配置max-http-header-size参数呢?

比如,当我们上传图片时采用multipart形式上传文件时,对应的配置如下:

spring.http.multipart.max-file-size=20Mb
spring.http.multipart.max-request-size=60Mb

但这个配置针对base64形式上传图片就不适用了,需要如下配置:

server.maxHttpHeaderSize=102400
server.maxHttpPostSize =102400

但这样的配置就很容易造成OOM。

造成OOM的原因

之所以该参数配置过大,在并发的时候会造成OOM是因为Http请求时内存分配的问题。

比如将max-http-header-size的大小配置为100M,那么并发量100时,那么内存分配就是100* 100,将近

posted on 2022-11-21 15:11  秦瑞It行程实录  阅读(1006)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui