在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,将近
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2016-11-21 rsync无密码实时增量同步
2016-11-21 coroSync packmarker
2016-11-21 rsync 实现实时增量备份
2015-11-21 Error: rpmdb open failed
2014-11-21 openNebula rgister img instance vms error collections
2013-11-21 权限
2013-11-21 windows下使用SQLPLUS制作BAT执行SQL文件