2013-01-23 20 views
2

SignalR中擁有大量組的性能影響有多大?例如,在有帖子的社交網絡上,對那些需要通過SignalR集線器更新的帖子發表評論。最好是爲每個帖子創建一個組,然後將評論更新發送到該組,將評論更新發送到所有客戶端,然後讓客戶端代碼決定是否更新或者是否更新還有另一種我失蹤的方式?謝謝!SignalR中的組性能問題?

回答

3

當您通過SignalR向客戶端廣播消息時,消息會轉到主題,然後該主題會被推送到訂閱該主題的客戶端/客戶端。每個連接的客戶端都有一個主題,每個主題都有自己的主題。

發送給一個組(具有多於一個的用戶關聯)比發送給個人用戶總是更快。但是,羣體確實佔據了記憶。一個團隊遠不及整個用戶那麼多的內存,但如果創建過多,你可以看到收費。

因此,您的問題的答案是,這取決於。根據您的應用程序的規模和實施情況,您可能會使很多組工作,或無法工作。

例如,有幾個人在評論單個帖子的情況下肯定會證明一個羣體的合理性,而一個人在他們的牆上張貼0評論的情況則不會。

希望這會有所幫助!

+0

謝謝,這清除了我有關它如何實現組的一些問題,但只是想知道,有沒有其他方式來做到這一點?還是基本上只是團體和特定用戶之間的選擇? – MatthewSot

+1

另一個核心部分是信號,信號映射到主題。所以把集線器想象成一個Signal,每個連接客戶端的主題都與Signal相關聯。從性能的角度來看,我不會擔心這一點,它只是在優化客戶端的性能方面發揮作用。 –