在Python webapp中处理大量文件上传的最具可扩展性的方法是什么?

时间:2010-05-20 17:17:10

标签: python asynchronous file-upload

我们有一个Web应用程序,可以为某些部分上传文件。文件上传不是很大(主要是word文档等),但它们比典型的Web请求大得多,并且它们倾向于占用我们的线程服务器(在Apache代理后运行的zope 2服务器)。

我现在主要处于头脑风暴阶段,并试图找出一种常用的技术。我的一些想法是:

  • 使用龙卷风或柴油或者gunicorn等python异步服务器。
  • 用扭曲的东西来处理它。
  • 只需使用nginx来处理实际的文件上传。

很难找到我应该采取哪种方法的信息。我确信有很多细节需要做出实际决定,但我更担心的是找出如何做出这个决定而不是其他任何事情。谁能给我一些关于如何继续这个的建议呢?

2 个答案:

答案 0 :(得分:1)

如果您愿意将Django添加到您的环境中,其上传文件功能内置支持以多个块的形式上传文件。

请查看django文档的File Uploads overview部分。

答案 1 :(得分:0)

看看您是否可以将文件从用户的浏览器直接推送到静态文件存储,例如Amazon S3或rackspace的cloudfiles服务。

然后你可以处理大量的并行用户。