You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetty 11嵌入式服务器仅上传特定视频文件时请求超时问题求助

问题修复方案

1. 修正HttpConfiguration缓冲区配置

你当前配置的HttpConfiguration#outputBufferSize为1024字节,远低于Jetty 11默认的32768(32KB)。过小的缓冲区在处理连续二进制内容的mp4、mov、3gp类视频文件时,会触发流处理的阻塞死锁,修改如下:

// 要么删除该行使用默认值,要么设置为32KB及以上
httpConfig.setOutputBufferSize(32768);

2. 调整Multipart临时文件阈值配置

你当前MultipartConfigElement的第四个参数fileSizeThreshold设置为1字节,所有超过1字节的上传内容都会强制写入临时磁盘,首先确认/storage/tmp目录的权限:

  • 执行命令sudo chown -R 运行Jetty的用户名:用户组 /storage/tmp && sudo chmod 755 /storage/tmp,确保Jetty进程对该目录有读写权限
  • 调整阈值为合理值(示例为10MB,小于10MB的文件直接在内存处理,减少磁盘IO):
jerseyServlet.getRegistration().setMultipartConfig(new MultipartConfigElement("/storage/tmp", -1L, -1L, 10 * 1024 * 1024));

3. 排查服务器MTU配置

Ubuntu 20.04服务器如果MTU配置和客户端不匹配,会导致大体积连续二进制文件上传时出现分片丢包,进程挂起等待丢失的分片最终超时。执行ip link show查看网卡MTU值,修改为标准的1500即可:

# 临时生效,替换eth0为你的实际网卡名
sudo ip link set eth0 mtu 1500

内容的提问来源于stack exchange,提问作者Alessandro Valentino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:36:02