2012-04-10 124 views
8

用戶如何超過1024個連接限制與Linux中的MQTT進行推送通知相關聯?mqtt mosquitto linux連接限制

我正在使用Mosquitto服務器,我認爲我讀的沒有1024版本的內置連接限制。那麼,我可以使用單個服務器(無橋接等)並獲得5,000,10,000多個用戶嗎?

或者,我絕對需要橋接嗎?我還沒有看到很多關於如何設置蚊子配置設置手冊頁的文章。

或者,我可以通過修改幾個linux配置設置來獲得,而且我很樂意使用單個的mosquitto服務器嗎?

我的應用程序或多或少是一個即時消息應用程序,所以我希望有10,000個甚至20,000個人使用它與永久24/7連接到蚊子,以提醒他們的消息。

回答

8

從理論上講,您可以將最大數量的蚊子插座的Linux設置升級爲您所需要的。那麼問題就在於表現。關鍵指標是每秒消息總數。如果您連接了20k個客戶端,將會有多少個客戶端處於活動狀態以及每個客戶端將發送多少條消息?例如,如果有一半的客戶端處於活動狀態並每秒發送1條消息,則有10k msps - 當然只有傳入。如果每個消息都是10個字節,則持續100kB/s或800kbps。

另一方面是如何安排主題層次結構。我無法告訴你什麼是最好的,但它肯定會有效果。

我最好的建議是編寫一個模擬真人的客戶端,然後用它來真實地測試你的場景。

我見過極端客戶的例子:http://bit.ly/HytRpK但沒有更多的細節。

最後一點:IBM目前正在生產關於MQTT的紅皮書。它應該在'春天'即即將可用。我認爲這將涵蓋擴展問題。

+0

非常感謝Roger〜事實上,我並不指望我的客戶會非常活躍......我預計,在20,000個客戶端中,每秒可能有4個或5個請求。所有實際的用戶通信從客戶端 - >服務器通過SSL,而不是MQTT ..然後我使用MQTT向用戶發送一條新消息到達的通知。每天大約4或5次我也使用MQTT來推送數據到*所有*我的用戶,每日新聞更新真的..所以非常低的數據/每秒消息..主題層次結構 - 我打算每個用戶做一個主題。所以20,000個話題..嗯 – 2012-04-11 05:46:29

3

我不知道誰做了mosquitto量檢測到連接數的。我想你可以做的一件事就是在你選擇的運行時測試一個mosquitto實例,並在你的系統測試過程中連接大量的客戶線程。

使用WebSphere MQ作爲MQTT代理的IBM實現已被證明支持高達100,000個併發連接。我相信IBM的免費經紀人RSMB限於1024個連接。

您可能想考慮如何使用網橋和配置服務來擴展您的代理,以確定將哪些代理連接到新用戶。

5

對於我們測試IBM WebSphere MQ的MQTT的客戶,增加每個隊列管理器(MQ運行時,您可以在MQ集羣中有多個)的併發客戶端連接數達到240,000。有人告訴我,這比Apache Web服務器合理處理的要多10倍。服務器CPU在測試期間很低,爲< 5%。本來會不斷增加併發MQTT客戶端的數量遠遠超過240,000,但實驗室中的運行負載測試客戶端機器已經不多。 IBM MQ是嵌入在WebSphere Message Broker ESB中的發佈/訂閱提供程序,所以我期望獲得相同的結果。