这是我的故事:
我有一个繁忙的服务器(每分钟查询太多),我正在尝试在该服务器上上传图像,问题是我不知道使用什么来获得良好的性能。
有人可以告诉我以下之间的性能差异:
- 使用 WebDAV 协议上传文件。
- 使用 WebSocket 协议 (socket.io) 上传文件。
是什么方法faster + consumes less resources + better
。
例如,您能告诉我YouTube
上传使用什么方法吗?
谢谢大家。
如果套接字被重复用于多个通信请求,Websocket 可以节省资源。但是,如果您使用它来促进单次上传,那么它与普通的 HTTP PUT 之间没有区别。
那是因为创建 websocket 连接的步骤与启动普通 HTTP 连接的步骤相同,但最后会更改模式,以便连接准备好并等待传输。因此,如果用户要使用 websocket 连接进行 10 次上传,则可能会有优势,因为只有一次握手,而对于正常的 HTTP PUT,将有 10 次握手。
但是要进行 websocket 上传,您需要“自己动手”,因为作为 websocket 标准的一部分,没有标准的文件上传语义,就像 HTTP 一样。这意味着潜在的错误和效率低下。
因此,要回答哪种方法“更好”,我认为使用 websockets 进行文件上传的性能提升会很小,可能无法衡量,但这样做会带来错误和效率低下的风险。