簡體   English   中英

HTML5 websockets:最大打開連接數?

[英]HTML5 websockets: max number of open connections?

HTML5 websockets是(並且已經有一段時間 )一個熱門話題,因為它們優雅地實現了實時 服務器端推送

我目前有一個工作應用程序,其中包含由Tomcat 7.0.30 提供支持的websockets ,其中包括websocket支持 但是將其轉移到生產環境會引發問題。

主要是我想知道每個瀏覽會話可以同時操作( 打開 )的最大連接數; 瀏覽會話意味着單個瀏覽器選項卡或窗口。

開放的websocket連接是否與Web服務器可以同時處理的最大連接數相加? 例如Apache中的MaxClients

相反, 瀏覽器本身限制的單個瀏覽會話的最大websockets數是多少? 正如此博客文章所示,截至2012年4月,不同的瀏覽器支持不同數量的開放 websocket連接。 (我個人的目標是每個瀏覽會話 1個開放的websocket;但是這個信息仍然很好知道)。

TL / DR:

  1. 是什么限制了每次瀏覽會話可能的websockets數量? 是客戶嗎? 服務器? 或兩者兼而有之?
  2. 同樣的限制是否適用於ws:wss: connections?

瀏覽器沒有最大連接默認值的標准規范。它取決於實現[0]。 此外,對於同一應用程序而言,每次瀏覽會話使用多個Web套接字似乎有些過分,因為您可以使用發布/訂閱源渠道。

連接的瓶頸通常是在服務器端。 Web套接字是對HTTP的升級,因此連接只是“升級”HTTP(TCP)連接[1] .HTTPS和WSS只為正常連接添加了一個安全層。它們不是一個不同的連接[2]。 在您的情況下,檢查maxConnections (和maxThreads )[3]和您的操作系統最大值[4] [5]。 如果您的並發連接數達到數萬,那么您應該開始考慮負載平衡或群集[6]。

[0] https://code.google.com/p/chromium/issues/detail?id=85323

[1] http://en.wikipedia.org/wiki/WebSocket

[2] http://en.wikipedia.org/wiki/HTTP_Secure

[3] http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

[4] https://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server

[5] https://superuser.com/questions/251596/is-there-a-hard-limit-of-65536-open-tcp-connections-per-ip-address-on-linux

[6] http://tomcat.apache.org/tomcat-7.0-doc/config/cluster.html

有關高並發性的更多信息: http//www.kegel.com/c10k.html

在Gecko 7中,他們引入了參數network.websocket.max-connections你可以在about:config設置它。 它根據這個來“一次”設置最大的websocket連接: https//developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

我不知道你是否可以從代碼中確定這個數字,以及是否有辦法確定在其他會話中打開了多少(所以你剩下多少)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM