WebSockets:有助于减少开销?

时间:2012-01-17 22:41:47

标签: javascript http node.js websocket overhead

我正在构建一个动态搜索(每次击键更新):我目前的方案是,在每次击键时,向服务器发送一个新的AJAX请求并以JSON格式返回数据。

我考虑为每个搜索“会话”打开一个WebSocket,以节省一些开销。 我知道这会节省时间,但问题是,考虑到这些参数,它是否真的值得: 平均ping时间为80ms 166ms:每次击键之间的时间,假设用户类型相对较快 最差情况下的传输速率为1MB / s,每次击键时必须接收的每个数据包不超过1KB。 该应用程序还需要30-40毫秒才能将搜索结果焊接到DOM。

我发现了这个:HTTP vs Websockets with respect to overhead,但这是一个不同的用例。

除了纯HTTP开销之外,websockets还会减少什么吗? HTTP开销是多少(假设没有cookie和最小标头)?

我想HTTP请求会在每个请求上打开一个新的网络套接字,而WebSocket允许我们一直只使用一个。如果我的理解是正确的,那么打开新网络套接字的实际开销是多少?

1 个答案:

答案 0 :(得分:3)

似乎WebSockets在像你这样的情况下提供了更好的性能。

Web Socked

  • 小握手标题
  • 握手后的全双工通信。
  • 建立连接后,每个传输的请求/响应只添加2个字节

<强> HTTP

  • Http标头与每个请求一起发送

另一方面,WebSocket是一项相对较新的技术。研究网络浏览器支持潜在的网络相关问题是明智的。

<强>价:

http://websocket.org/quantum.html

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

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