8

私は動的検索を構築しています(キーストロークごとに更新されます):現在のスキームでは、キーストロークごとに新しいAJAXリクエストをサーバーに送信し、JSONでデータを取得します。

オーバーヘッドを節約するために、検索「セッション」ごとにWebSocketを開くことを検討しました。これにより時間を節約できることはわかっていますが、問題は、これらのパラメーターを考慮すると、本当に価値があるかどうかです。平均ping時間80ms:ユーザーが比較的高速に入力したと仮定した場合の各キーストローク間の時間1MB/秒の最悪の場合の転送速度、すべてのキーストロークで受信する必要のある各データパックは1KB以下です。また、このアプリは、検索結果をDOMに結合するのに30〜40ミリ秒かかります。

私はこれを見つけました:オーバーヘッドに関してHTTP対Websocketsですが、それは別のユースケースでした。

WebSocketは、純粋なHTTPオーバーヘッド以外のものを削減しますか?HTTPオーバーヘッドはどのくらいですか(Cookieがなく、ヘッダーが最小限であると想定)?

HTTPリクエストはリクエストごとに新しいネットワークソケットを開くと思いますが、WebSocketでは常に1つしか使用できません。私の理解が正しければ、新しいネットワークソケットを開くための実際のオーバーヘッドはどれくらいですか?

4

1 に答える 1

3

あなたのような状況では、WebSocket の方が優れたパフォーマンスを発揮するようです。

ウェブソックス

  • 小さな握手ヘッダー
  • ハンドシェイク後の全二重通信。
  • 接続が確立された後、送信された要求/応答ごとに 2 バイトのみが追加されます

Http

  • 各リクエストとともに HTTP ヘッダーが送信されます

一方、WebSocket は比較的新しい技術です。Web ブラウザーのサポートに関する潜在的なネットワーク関連の問題を調査することをお勧めします。

参照:

http://websocket.org/quantum.html

http://www.youtube.com/watch?v=Z897fkPn7Rw

http://en.wikipedia.org/wiki/WebSocket#Browser_support

于 2012-01-17T23:40:41.583 に答える