0

これが私の話です:

サーバーがビジーで (毎分クエリが多すぎます)、そのサーバーに画像をアップロードしようとしています。問題は、パフォーマンスを向上させるために何を使用すればよいかわかりません。

誰かが次のパフォーマンスの違いを教えてくれますか?

  • WebDAV プロトコルを使用してファイルをアップロードします。
  • WebSocket プロトコル (socket.io) を使用してファイルをアップロードします。

どの方法がありますかfaster + consumes less resources + better

たとえばYouTube、アップロードに使用されている方法を教えてください。

皆さんありがとう。

4

1 に答える 1

4

ソケットが複数の通信要求に再利用される場合、Websocket はリソースを節約できます。ただし、単一のアップロードを容易にするために使用する場合は、通常の HTTP PUT との違いはありません。

これは、websocket 接続の作成は、通常の HTTP 接続の開始と同じ手順を実行しますが、最後にモードを変更して、接続の準備が整い、転送を待機するためです。したがって、ユーザーが Websocket 接続を使用して 10 回のアップロードを行う場合、通常の HTTP PUT では 10 回のハンドシェイクが行われるのに対し、ハンドシェイクは 1 回しか行われないため、潜在的に利点があります。

しかし、Websocket アップロードを行うには、HTTP のように Websocket 標準の一部として標準のファイル アップロード セマンティクスがないため、「独自にロールする」必要があります。つまり、バグや非効率性が生じる可能性があります。

したがって、どちらのアプローチが「より良い」かを答えるために、ファイルのアップロードに websocket を使用することによるパフォーマンスの向上は小さく、おそらく測定できないと思いますが、そうするとバグや非効率のリスクが発生します。

于 2013-03-15T12:18:25.060 に答える