使用 pgbench 分析 AlloyDB 執行個體的效能

在本教學課程中,您會在虛擬私有雲 (VPC) 網路上整合 AlloyDB 執行個體和 Compute Engine VM 執行個體。接著,在 Compute Engine VM 執行個體上安裝 pgbench,並使用這項基準化工具對 AlloyDB 執行個體進行效能測試,驗證整合是否成功。

目標

在本教學課程中,您將瞭解以下內容:

  • 為 AlloyDB 執行個體和 Compute Engine VM 執行個體建立虛擬私有雲網路,以便在執行個體和 VM 之間安全地傳輸通訊內容。
  • 建立 AlloyDB 執行個體和 Compute Engine VM 執行個體,並為這兩個執行個體指派及設定虛擬私有雲網路。
  • 在 Compute Engine VM 執行個體上安裝 pgbench,針對 AlloyDB 執行個體執行,並使用它對 AlloyDB 執行個體進行效能測試。

費用

本教學課程會使用 Google Cloud的計費元件,包括 VPC 網路、AlloyDB 和 Compute Engine。使用 Pricing Calculator,根據您的預測使用量來產生預估費用。

事前準備

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。

    前往專案選取器頁面

  2. 請確認您已為 Google Cloud 專案啟用計費功能。瞭解如何確認專案已啟用計費功能。

  3. 啟用虛擬私有雲網路、AlloyDB 和 Compute Engine API。

    啟用 API

  4. 確認您的使用者帳戶已獲派 AlloyDB 管理員角色。

    前往「IAM」頁面

建立虛擬私人雲端網路

在本節中,您將為 AlloyDB 執行個體和 Compute Engine VM 執行個體建立虛擬私有雲網路,以便在執行個體和 VM 之間安全地傳輸通訊內容。

  1. 前往 Google Cloud 控制台的「VPC networks」(VPC 網路) 頁面。

    前往「VPC networks」(VPC 網路) 頁面

  2. 按一下「建立虛擬私有雲網路」。「建立虛擬私有雲網路」頁面隨即顯示。

  3. 輸入虛擬私有雲網路的「名稱」,例如 my-vpc-network

  4. 在「子網路建立模式」部分,選取「自訂」選項。

  5. 按一下「新增子網路」

  6. 輸入子網路的「名稱」my-subnet

  7. 選取「區域」,然後輸入子網路的「IP 位址範圍」

  8. 按一下「完成」

  9. 點選「建立」。

建立 AlloyDB 執行個體

在本節中,您將建立 AlloyDB 執行個體,並為該執行個體指派及設定虛擬私有雲網路。

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 按一下 [Create cluster] (建立叢集)

  3. 請按以下方式設定叢集:

    1. 在「基本資訊」部分的「叢集 ID」欄位中,輸入 my-cluster

    2. 在「Password」(密碼) 欄位中輸入任意密碼。請記下這組密碼,本教學課程稍後會再次用到。

    3. 在「Location」(位置) 部分的「Region」(區域) 欄位中,選取「us-central1 (Iowa)」。

    4. 保留「資料庫版本」欄位的預設值。

    5. 在「Network」(網路) 選單中,選取「my-vpc-network」。您在「建立虛擬私有雲網路」中建立了這個虛擬私有雲網路。

    6. 由於虛擬私有雲網路尚未初始化私人服務存取權,請按一下「設定連線」

    7. 在隨即顯示的「建立私人服務連線」窗格中:

      1. 選取「使用系統自動分配的 IP 範圍」選項,讓 Google Cloud 在您的網路上選取系統自動分配的 IP 範圍。

      2. 按一下「繼續」

      3. 點選「建立連線」

  4. 請按照下列步驟設定主要執行個體:

    1. 在「Instance ID」(執行個體 ID) 欄位中,輸入主要執行個體的 ID。

    2. 在「可用區可用性」下方,選取下列任一選項:

      1. 如要建立高可用性的正式環境執行個體,並自動進行容錯移轉,請選取「多個可用區 (高可用性)」

      2. 如要建立不需要高可用性的基本執行個體,請選取「單一可用區」

    3. 選取機型。

  5. 按一下「建立叢集」,即可一併建立叢集和主要執行個體。

  6. 記下 AlloyDB 執行個體頁面顯示的 AlloyDB 執行個體私人 IP 位址。您需要這個位址,才能驗證 AlloyDB 執行個體與 Compute Engine VM 執行個體之間的整合。

建立 Compute Engine VM 執行個體

在本節中,您將建立 Compute Engine VM 執行個體,並為該執行個體指派及設定 VPC 網路。

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 點選「建立執行個體」

  3. 在「Create an instance」(建立執行個體) 頁面的「Name」(名稱) 欄位中,輸入您要建立的 Compute Engine VM 執行個體專屬 ID。在本教學課程中,請在欄位中輸入 my-compute-engine-vm-instance

  4. 在頁面的「存取權範圍」專區,選取「允許所有 Cloud API 的完整存取權」選項。

  5. 展開「Advanced options」(進階選項),然後完成下列步驟:

    1. 按一下「網路」子分頁標籤。

    2. 按一下「新增網路介面」

    3. 在「Network」(網路) 選單中,選取「my-vpc-network」。您在「建立虛擬私有雲網路」中建立了這個虛擬私有雲網路。

    4. 按一下 [完成]。頁面的「網路介面」部分會顯示兩個 VPC 網路:「default」和「my-vpc-network」

  6. 按一下「刪除」,刪除「default」 虛擬私有雲網路。

    刪除預設 VPC 網路後,Compute Engine VM 執行個體就會強制使用您在本教學課程中建立的 VPC 網路。

  7. 點選「建立」

    建立 Compute Engine VM 執行個體可能需要幾秒鐘。完成後,執行個體會顯示在「VM instances」(VM 執行個體) 頁面,且狀態為「Running」(執行中) (如勾號所示)。

驗證整合

在本節中,您將在 Compute Engine VM 執行個體上安裝 pgbench,針對 AlloyDB 執行個體執行,並使用它對 AlloyDB 執行個體進行效能測試。

  1. 連線至 Compute Engine VM 執行個體。如要這麼做,請按一下 VM 執行個體右側的「SSH」選單,然後選取「Open in browser window」(在瀏覽器視窗中開啟)

  2. 在 Compute Engine VM 執行個體上安裝 PostgreSQL 的貢獻擴充功能和附加元件套件。

    sudo apt-get -y install postgresql-contrib
  3. 在 AlloyDB for PostgreSQL 執行個體上,為 pgbench 初始化資料庫。舉例來說,使用預設的 postgres 資料庫:

    pgbench -i --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME

    更改下列內容:

    • INSTANCE_PRIVATE_IP:AlloyDB 執行個體的私人 IP 位址。您在建立執行個體時,已記下這個 IP 位址。
    • PORT_NUMBER:為 AlloyDB 執行個體保留的通訊埠號碼。在本教學課程中,通訊埠編號為 5432
    • USERNAME:AlloyDB 執行個體的管理員使用者名稱。在本教學課程中,使用者名稱為 postgres
  4. Password 提示中,輸入 AlloyDB 執行個體的密碼。建立執行個體時,您要提供密碼,或讓 AlloyDB 為您產生密碼。

  5. 執行 pgbench 時不帶任何引數,即可驗證基本功能。

    pgbench --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME
  6. Password 提示中,輸入 AlloyDB 執行個體的密碼。

    輸出結果應該會類似下列內容:

    starting vacuum...end.
    transaction type: <builtin: TPC-B (sort of)>
    scaling factor: 1
    query mode: simple
    number of clients: 1
    number of threads: 1
    number of transactions per client: 10
    number of transactions actually processed: 10/10
    latency average = 3.794 ms
    tps = 263.560171 (including connections establishing)
    tps = 345.375423 (excluding connections establishing)
  7. 使用部分選項,製作實用的測驗。幾個重要選項包括 -c (用戶端數量) 和 --transactions (每個用戶端的交易數量)。

    在本教學課程中,請針對存取 AlloyDB for PostgreSQL 資料庫的 10 用戶端,以及每個用戶端的 100 交易執行效能測試。

    pgbench --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME -c 10 --transactions=100
  8. Password 提示中,輸入 AlloyDB 執行個體的密碼。

    輸出結果應該會類似下列內容:

    starting vacuum...end.
    transaction type:  TPC-B (sort of)>
    scaling factor: 1
    query mode: simple
    number of clients: 10
    number of threads: 1
    number of transactions per client: 100
    number of transactions actually processed: 1000/1000
    latency average = 36.421 ms
    tps = 274.563444 (including connections establishing)
    tps = 275.733225 (excluding connections establishing)

清除所用資源

完成本教學課程後,您可以清除建立的資源,這樣資源就不會占用配額,您日後也無須為其付費。

如要避免系統向您的 Google Cloud 帳戶收取本教學課程所用資源的費用,請按照下列步驟操作。

  1. 使用 Google Cloud 控制台刪除專案、AlloyDB 執行個體、Compute Engine VM 執行個體和 VPC 網路。

下列各節將說明如何刪除或停用這些資源。

刪除專案

如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「管理資源」頁面

  2. 在專案清單中選取要刪除的專案,然後點按「刪除」。

  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。

刪除 AlloyDB 執行個體

  1. 前往 Google Cloud Console 的「AlloyDB Instances」(AlloyDB 執行個體) 頁面。

    前往 AlloyDB 執行個體頁面

  2. 按一下 AlloyDB 執行個體的名稱。在本教學課程中,請點按「my-instance」

  3. 按一下 [刪除]

  4. 在對話方塊的文字欄位中輸入 AlloyDB 執行個體的名稱,然後按一下「DELETE」(刪除)

刪除 Compute Engine VM 執行個體

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 按一下 Compute Engine VM 執行個體的名稱,在本教學課程中,請點選「my-compute-engine-vm-instance」my-compute-engine-vm-instance

  3. 按一下「刪除」圖示。這個圖示類似垃圾桶。

  4. 在對話方塊中,按一下「刪除」

刪除虛擬私人雲端網路

  1. 前往 Google Cloud 控制台的「VPC networks」(VPC 網路) 頁面。

    前往「VPC networks」(VPC 網路) 頁面

  2. 按一下虛擬私有雲網路的名稱。在本教學課程中,請點選「my-vpc-network」

  3. 按一下「刪除虛擬私有雲網路」

  4. 在對話方塊中,按一下「刪除」