複製功能和效能

啟用複製功能會影響 Bigtable 執行個體的效能。複製功能對某些指標有正面影響,對其他指標則有不良影響。決定啟用複製功能之前,您應該先瞭解對效能的潛在影響。

讀取總處理量

複製功能可以提高讀取總處理量,尤其是在使用多叢集轉送時。此外,將 Bigtable 資料放置在距離應用程式使用者較近的地理位置,複製功能可以降低讀取延遲。

寫入處理量

雖然複製功能可以提高可用性和讀取效能,但無法增加寫入總處理量。您必須將針對一個叢集的寫入作業複製到執行個體中的所有其他叢集。因此,每個叢集都會消耗 CPU 資源,以從其他叢集提取變更。由於複製作業會讓每個叢集執行額外工作,因此寫入總處理量實際上可能會下降。

例如,假設您有一個單一叢集執行個體,而該叢集包含 3 個節點:

包含 3 個節點的單一叢集執行個體

新增節點至該叢集時,對寫入總處理量的影響,與將第二個包含 3 個節點的叢集新增至執行個體來啟用複製功能相比,影響程度並不相同。

新增節點至原始叢集:您可以新增 3 個節點至該叢集,使其總共包含 6 個節點。執行個體的寫入總處理量會加倍,但您只能在一個區域中取得該執行個體的資料:

包含 6 個節點的單一叢集執行個體

啟用複製功能:您也可以新增第二個包含 3 個節點的叢集,使其總共包含 6 個節點。執行個體現在會將每個資料片段寫入兩次:收到時會執行第一次寫入,複製到其他叢集時會執行第二次寫入。寫入總處理量不僅不會增加,還可能會下降,但您可以從兩個不同的區域中取得資料:

包含 6 個節點的雙叢集執行個體

在上述範例中,即使每個執行個體的叢集都包含共 6 個節點,但單一叢集執行個體可以處理的寫入總處理量比複製的執行個體多了一倍。

複製延遲時間

使用多叢集轉送時,Bigtable 的複製功能具有最終一致性。一般來說,距離越遠,複製資料所需的時間就越久。與相同地區中的複製叢集相較,不同地區中的複製叢集所需的複製延遲時間較長。

節點用量

如「寫入總處理量」一文所述,當執行個體使用複製功能時,執行個體中的每個叢集除了要處理來自應用程式的負載,還必須處理複製作業。因此,多叢集執行個體中的叢集通常需要比流量相似的單一叢集執行個體中的叢集更多節點。

應用程式設定檔和流量轉送

您可以根據自身用途來決定使用一或多個應用程式設定檔轉送 Bigtable 流量。每個應用程式設定檔會使用多叢集轉送或單叢集轉送。轉送選項會影響效能。

多叢集轉送可以將延遲時間降到最低。從應用程式的角度來看,使用多叢集轉送的應用程式設定檔會自動將要求轉送至執行個體中最接近的叢集,然後將寫入內容複製到執行個體中的其他叢集。這種自動選擇最短距離的做法會將延遲時間降至最低。

使用單叢集轉送的應用程式設定檔對某些用途來說是最佳選項,例如區隔工作負載,或單一叢集上的寫入後讀取作業語意,但單叢集轉送不像多叢集轉送一樣可以降低延遲時間。

如要瞭解如何針對不同用途設定應用程式設定檔,請參閱複製功能設定範例一文。

捨棄資料列範圍

如果可行,請避免在使用複製功能的執行個體中刪除資料列範圍,因為這項作業速度緩慢,且作業期間 CPU 使用率會增加。

後續步驟

  • 請參閱容錯移轉
  • 查看「Routing options」(轉送選項)