我的内部使用的小项目类似于“像sharerapid这样的文件共享门户”,它将使用大约100人。我有下载大文件的问题。小文件(<200 MB)正在快速下载,但是最大的文件会阻塞我的服务器2-5分钟。也许问题是RAM,我有2 GB RAM。我的代码下载文件:
def custom_send(userfile)
file = userfile.attachment.file.url.to_s.split("?").slice(0..-2).join("?")
send_file "#{Rails.root.to_s}/public#{file}" , filename: userfile.name, x_sendfile: true
end
我不知道问题出在哪里,在我的localhost机器上的开发模式下没问题,但问题出在公共虚拟服务器上(ubuntu 12)。
答案 0 :(得分:0)
您使用的是哪种Web服务器?最可能的原因是请求阻止了单线程环境中的进一步请求。
您问题的最佳解决方案是在亚马逊s3上托管文件并在那里链接到它们。如果文件必须保持在本地,你可以尝试更像这样的东西:
http://www.therailsway.com/2009/2/22/file-downloads-done-right/