如何通过websocket提高上传文件的性能

时间:2013-10-22 01:22:02

标签: javascript python performance file-upload websocket

我已经实现了一个关于从客户端到服务器的上传大文件(大多数场景超过1 GB)的应用程序。

  1. 在客户端我使用了HTML5文件API,将文件分片(我已经测试了1MB / 5MB / 10MB)并通过WebSocket上传。
  2. 在服务器中使用龙卷风作为websocket服务器。我们的客户不允许使用applet这样的插件,http-upload也不适合我们的场景,所以我必须选择HTML5和websocket。
  3. 我的问题是这个过程太慢了。例如,为了传输40 MB文件,它花了大约40秒。

    • 客户端和服务器中的进程数据(编码,解码等)大约需要5秒。
    • 从websocket客户端向websocet服务器传输数据大约需要35秒。

    有谁能告诉我这是什么问题?

    我的服务器端代码使用了python-tornado,非常简单:

    application = tornado.web.Application([(r'/litevirt-websocket/realtime/',RealtimeHandler),],**settings)
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
    

    我的客户端代码只使用标准的HTML5文件API,此处无需附加。

0 个答案:

没有答案