gpt4 book ai didi

java - Struts 上传速度慢

转载 作者:行者123 更新时间:2023-12-04 07:08:28 25 4
gpt4 key购买 nike

我有一个 Struts 1 Web 应用程序,需要将相当大的文件(> 50 MB)从客户端上传到服务器。我目前正在使用其内置的 org.apache.struts.upload.DiskMultipartRequestHandler 来处理 HTTP POST multipart/form-data 请求。它工作正常,但也非常非常慢,以每秒 100 KB 左右的速度上传。

将相同的大文件从服务器下载到客户端的速度要快 10 倍以上。我不认为这只是我的 ISP 上传和下载速度之间的差异,因为使用简单的 FTP 客户端将文件传输到同一服务器所需的时间不到 1/3。

我已经考虑用较新的 org.apache.commons.fileupload 包替换内置的 DiskMultipartRequestHandler,但我不确定如何修改它以创建 Struts 1 所需的 MultipartRequestHandler。

Barend 在下面评论说,可以在 web.xml 中设置一个“bufferSize”参数。我将缓冲区的大小增加到 100 KB,但并没有提高性能。查看 DiskMultipartRequestHandler 的实现,我怀疑它的性能可能会受到限制,因为它一次读取一个字节的流以查找多部分边界字符。

有没有其他人使用 Struts 上传大文件?

有没有人定制过 Struts 1 提供的默认 DiskMultipartRequestHandler?

上传大文件时我是否只需要更加耐心? :-)

最佳答案

页面StrutsFileUpload Apache wiki 上的 包含一堆您可以使用的配置设置。对我来说最突出的是 4096 字节的默认缓冲区大小。如果您还没有,请尝试将其设置为更大的值(但不要太大,因为为每次上传分配了缓冲区)。 2MB 的值似乎是合理的。我怀疑这会大大提高上传速度。

关于java - Struts 上传速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/745122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com