2013-10-19 23 views
10

如何計算連接?如何在Firebase中計算連接

我們假設我有一個Web應用程序,其中一個負載向所有連接的客戶端發送消息,假設我有5個連接的客戶端。這是否意味着,只要帶有Web應用程序的瀏覽器選項卡打開,它就會計爲1個連接,這意味着我將擁有6個併發連接,並且這將計入您在定價頁面中定義爲「連接」的內容?

如果不是,請解釋如何計算「連接」。謝謝

+2

是的,如果在任何給定時間連接到Firebase的6個瀏覽器選項卡(或設備)將被計爲6個連接。定價頁面列出了您可以在任何給定時間同時打開的最大連接數。 – Anant

+0

它不是5個站點連接(每個客戶端一個)和5個Web應用臨時連接(每個請求一個)? – Trevor

回答

35

自從我運行thinkster.io angular + firebase教程並且我看到我的firebase analytics選項卡顯示6個峯值併發時,這個問題一直困擾着我,儘管我只記得打開了一個頁面。我回頭看了一下代碼,並認爲這可能與教程如何爲您的Firebase中的每個位置創建新的Firebase(url)有關。

我想測試創建新的Firebase(url)與獲取根引用然後訪問.child()位置之間的區別。我的理論是,新的Firebase(url)每次都會創建一個新的連接,而.child()會重新使用現有的連接。

設置

  • 創建的每一個具有相同數據的兩個新的火力點
  • 安裝使用自耕農
  • 的angularjs項目包括angularfire

代碼

爲簡單起見,我只是把生成的代碼的主控制器中的所有內容。

爲了測試新的火力地堡(創建連接)我做了以下內容:

$scope.fb_root = $firebase(new Firebase(FBURL_NEW)); 
$scope.fb_root_apps = $firebase(new Firebase(FBURL_NEW + '/apps')); 
$scope.fb_root_someApp = $firebase(new Firebase(FBURL_NEW + '/apps/someApp')); 
$scope.fb_root_users = $firebase(new Firebase(FBURL_NEW + '/users')); 
$scope.fb_root_mike = $firebase(new Firebase(FBURL_NEW + '/users/mike')); 

爲了測試與參考$子(創建的連接),我做了以下內容:

$scope.fb_child = $firebase(new Firebase(FBURL_CHILD)); 
$scope.fb_child_apps = $scope.fb_child.$child("apps"); 
$scope.fb_child_someApp = $scope.fb_child_apps.$child("someApp"); 
$scope.fb_child_users = $scope.fb_child.$child("users"); 
$scope.fb_child_mike = $scope.fb_child_users.$child("mike"); 

然後,我將這些對象綁定在我的視圖中,以便我可以看到它們,並且通過我的firebase僞造更新數據並在我的應用程序上觀看數據更新。

結果

我打開了我的本地應用程序到17個瀏覽器標籤,希望大量的標籤會誇大連接方法之間的差異。

我發現每個標籤只打開一個單一的web套接字連接回firebase爲每個firebase數據庫。因此,在測試結束時,兩種方法都會導致17個連接的峯值數相同。

結論

從這個簡單的測試,我認爲這是肯定地說,火力地堡JS庫做管理其連接的一個好工作。不管你的代碼是多次調用新的Firebase(),還是通過.child()引用子地點,只要您的測量涉及到,庫將只創建一個連接。只要您的應用程序處於打開狀態,該連接就會保持在線狀態。

所以在你的例子中 - 是的,我相信你會看到6個併發連接,1個用於發送消息的應用程序,5個用於接收消息的應用程序。

更新值得一提的

的另一件事是,根據使用的月份的第95百分位支付計劃火力地堡措施連接。這在定價頁面的常見問題部分列出@https://www.firebase.com/pricing.html

更新11-Mar-16:Firebase不再出現以基於95th%來測量連接。相反,第101個併發連接被拒絕。

https://www.firebase.com/pricing.html

我們所有的計劃對數據庫連接數的硬性限制。 我們的Free和Spark計劃限制爲100.限制不能爲 。所有其他計劃都有10,000個數據庫 連接的禮貌限制。如果您通過電子郵件[email protected]發送電子郵件,我們可以將其刪除,以永久性允許無限制使用 連接。我們強加此限制的 原因是爲了防止濫用並確保我們準備好處理我們的最大客戶 。請至少提前24小時聯繫我們 ,以便我們取消此限制並確保 我們有足夠的容量滿足您的需求。

+0

如果我想讓5000個用戶成爲像whatsapp這樣的組,那麼它將在100個連接中工作。 –

+0

@PratikButani @PratikButani,我認爲它會提供工作,任何時候不超過100個用戶打開羣聊應用程序,並且您的應用程序無法在後臺保持與任何新消息的連接,因爲這將被視爲連接。 –