2012-02-26 186 views
5

我有一个使用django-storage的S3BotoBackend将音频文件上传到Amazon S3的FileField。音频文件的大小可以达到10MB,用户可以使用相同的格式上传多个文件。上传时间可能很长,并且会阻止。为了加快处理速度,我考虑编写一个自定义存储后端,该后端继承S3BotoBackend并在上传到S3之前将作业提交到beanstalk队列。如何加快Django FileField上传速度?

是否有更简单的替代方案来加速用户体验?

回答

2

如果你想加快速度,你会希望让你的Web服务器更多地处理上传。您可以查看Nginx的Nginx upload module,尽管您可以使用任何Web服务器完成大部分相同的任务。

对于这种方法,您将配置一个视图,一旦用户成功上传文件,该视图将接收请求,然后排队文件以上传至S3。

这将允许您异步接收来自用户的多个上传并将文件异步发送到S3,这应该涵盖您可以做的所有改善文件上传体验的一切。