使用Python发送1000个2MB文件的最快方法是什么?

时间:2014-03-27 19:21:31

标签: python upload flask rabbitmq tornado

我们遇到的问题是通过网络以最有效的方式发送大约1000个(甚至更多)2MB的块。我们想避免使用纯套接字(如果它不可能我们将使用它们)。目前我们已经测试过:

  1. 列出项目rabbitmq client - >服务器:localhost上约39sec / GB(非常慢)
  2. 请求客户 - >烧瓶服务器:localhost上仍然大约40秒/ GB
  3. 在龙卷风上烧瓶,为每个IO写入操作创建线程,仍然是40秒/ GB的SSD闪存驱动器
  4. 原始龙卷风仍然是40秒/ GB
  5. 我们的想法已经不多了。我们的最佳解决方案是使用轻量级解决方案,也许是http。

1 个答案:

答案 0 :(得分:0)

如果所有文件在开始时都可用。我会先将它们压缩成一个文件。它不是关于压缩而是文件的数量。 某些IO操作(打开/关闭和网络开始/结束)将为每个文件发生100次,您可以轻松避免。压缩也会有所帮助。

现在是套接字或HTTP,如果你有单个文件(或技术上是一个流),那就不重要了。