估算運算單元容量需求
在 BigQuery 中購買預留運算單元時,您必須根據特定工作負載估算適當的運算單元數量。BigQuery 運算單元估算工具可協助您根據過往成效指標管理運算單元容量。
您可以使用運算單元估算工具評估版本、預留和隨選工作負載,執行下列工作:
針對所選版本工作負載:
- 查看過去 30 天的運算單元容量和使用率資料,並找出運算單元用量最高的高峰期。
- 查看與效能相近的承諾和自動調整大小時段,找出最符合成本效益的最佳化建議。
- 查看特定版本目前的預訂設定。
針對特定預留工作負載:
- 查看過去 30 天的運算單元容量和使用率資料,並找出運算單元用量最高的高峰期。
- 查看工作延遲時間百分位數 (P90、P95 等),瞭解查詢效能。
- 模擬增加或減少預留項目上限可能對效能造成的影響。
如需使用按需計費的工作負載:
- 查看過去 30 天內,整個機構或個別專案的隨選運算單元用量資料。
- 如果您改用 Enterprise 版本,可以查看與現有成效相近的承諾和自動調整大小時段,瞭解最符合成本效益的最佳化建議。
使用 Enterprise 版、Enterprise Plus 版或隨選計費的客戶,可以使用 BigQuery 運算單元推薦工具查看運算單元使用情形、最佳化承諾使用量,並提升效能。詳情請參閱「查看建議的節目時段」。
限制
- 資料只包含過去 30 天。
- 模型不包含
ML_EXTERNAL
指派。如果大部分的時間都用於ML_EXTERNAL
指派,模擬結果的準確度就會降低。
事前準備
授予身分與存取權管理 (IAM) 角色,讓使用者取得執行本文件中各項工作的必要權限。
所需權限
如要針對預留資料使用運算單元估算器,您必須在管理專案中具備下列 IAM 權限:
bigquery.reservations.list
bigquery.reservationAssignments.list
bigquery.capacityCommitments.list
以下每個預先定義的 IAM 角色都包含使用時段估算工具所需的權限:
roles/bigquery.admin
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
roles/bigquery.user
如要使用運算單元預估工具來處理隨選使用量資料,您必須在要用來管理預留容量的管理專案中啟用預留容量 API。除了上述權限之外,您還需要在貴機構或專案中具備下列任一 IAM 權限,才能查看機構層級資料或專案層級資料:
bigquery.jobs.listExecutionMetadata
(只能套用於機構層級)bigquery.jobs.listAll
(可套用於機構或專案層級)
以下每個預先定義的 IAM 角色都包含使用時段估算工具所需的權限:
roles/bigquery.admin
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
如要查看承諾運算單元建議,您還需要查看版本運算單元建議中所述的權限。
如要進一步瞭解 BigQuery 中的 IAM 角色,請參閱「預先定義的角色與權限」一文。
查看運算單元數量和使用率
如要查看運算單元數量和使用率隨時間變化情形,請前往運算單元估算工具:
在 Google Cloud 控制台開啟「BigQuery」頁面。
選取管理專案。
- 按一下頁面頂端的「Select from」下拉式清單。
- 在隨即顯示的「Select from」視窗中,選取所需專案。
在導覽選單中,按一下「Capacity management」(容量管理)。
按一下「運算單元估算器」分頁標籤。
這張使用率圖表會顯示過去 30 天內的運算單元容量和使用率,並以每小時為單位計算。
「用量和使用率 (以百分比表示)」分頁會顯示運算單元使用率,以運算單元用量與運算單元上限的百分比表示。
「用量和使用率 (依容量劃分)」分頁會以絕對值顯示最大時段和用量。
您可以從「來源」下拉式選單中選擇版本或隨選選項,查看不同範圍的統計資料。選取版本後,預訂下拉式選單就會填入相關預訂項目。
如要使用隨選選項,您可以透過「推薦給」下拉式選單,選擇個別專案或整個機構 (前提是您具備機構層級權限)。如果您只有專案層級權限,則「時段預估工具」頁面只會顯示專案層級資訊。
「使用量和使用率 (依容量劃分)」分頁的統計資料可能會因範圍不同而略有差異:
- 對於版本來源,這項指標會顯示整個版本可用的運算單元數上限、承諾運算單元、基準運算單元總和、平均運算單元用量、P99 運算單元用量和 P50 運算單元用量。
- 針對特定預留項目,這項資訊會顯示預留運算單元數量上限、基準運算單元數量、平均運算單元用量、P99 運算單元用量和 P50 運算單元用量。
- 針對隨選來源,這項指標會顯示平均運算單元用量、P99 運算單元用量和 P50 運算單元用量。
模型單元格效能
選取預留項目後,您可以使用運算單元估算器查看工作效能資料,並模擬變更運算單元數量上限的效果。您可以使用時段估算器模擬不同容量層級下成效可能的變化情形,範圍從觀察期間內最大時段大小的 80% 到目前最大時段的 150%。換句話說,選項減少數不得超過 30 天期間內最低容量的 20%,而選項增加數不得超過目前容量的 50%。
模型會假設重播過去 30 天的使用模式,其中除了時段變更之外,所有內容都保持不變。
系統會根據多項因素估算成效提升幅度,最重要的因素是模型中的空缺數量,以及在高峰期和一般期間執行的每個百分比區塊中工作比例。高峰期是指幾乎所有時段都已使用完畢的時間長度。在這些時間執行的工作最容易受到運算單元爭用情形的影響,因此從額外運算單元獲得的成效提升幅度也最大。因此,不同工作區塊可能會因執行時間不同,而對相同的容量增加情形產生不同的影響。
如要模擬時段成效,請執行下列步驟:
在 Google Cloud 控制台開啟「BigQuery」頁面。
選取管理專案。
- 按一下頁面頂端的「Select from」下拉式清單。
- 在隨即顯示的「Select from」視窗中,選取所需專案。
在導覽選單中,按一下「Capacity management」(容量管理)。
按一下「運算單元估算器」分頁標籤。
在「Reservation」下拉式選單中,選取特定預訂。模型包含預留項目在任何特定時間可借用的閒置運算單元數量。
在「提供額外運算單元的模式 (超過運算單元數量上限)」下拉式選單中,選取一或多個要模擬的運算單元值,然後按一下「確定」。
「增加額外運算單元後的工作成效變化」下方的表格會顯示過去 30 天的工作成效資料,以及增加或減少最大運算單元後,成效的預估變化。在所選時間範圍內執行的所有工作,依工作持續時間分組成百分比。以燈泡圖示表示的欄位,對應於所選預訂的效能提升建議。
成效資料會按百分位數細分。表格會將資料分成最多 12 個區間:P10 到 P90,以及 P95、P99 和 P100。P100 範圍代表執行時間最長的前 1% 工作;P99 範圍則包含 96% 至 99% 的前幾項工作;P95 範圍包含 91% 至 95% 的前幾項工作;P90 範圍則包含 81% 至 90% 的前幾項工作,以此類推。視資料而定,表格可能會將資料分組成較少的值區。在這種情況下,表格會包含較少的資料列。
表格會針對每個百分比值區顯示下列資訊:
- 工作持續時間百分位數:這個資料列的百分位數分組。
- 平均工作時間長度:該百分位數區塊中工作執行的平均時間。
- 工作數:該百分位數值區中的工作數。
- 每個模型的預估平均工作時間 (以百分位數為單位)。
表格也會列出每個模型的預估「30 天變化」統計資料。這個值是 30 天歷史記錄中,在不同運算單元容量下處理工作所需的總時數預估變化。
瞭解使用時段的模擬結果
對於固定容量保留項目,如果啟用閒置運算單元共用功能,該保留項目中的工作可以從其他保留項目借用閒置運算單元。因此,使用率可能會超過已分配的時間間隔 100%。如果預留項目持續借用其他預留項目的閒置運算單元,這可能表示需要增加預留項目的大小。另一方面,如果預留項目很少使用全部容量,則表示預留項目可能太大。
使用自動調度功能的預留項目會依據下列優先順序使用及新增運算單元:
- 基準運算單元。
- 閒置運算單元共用功能 (如果已啟用)。
- 自動調度運算單元。
如果自動調度資源保留項目持續使用自動調度資源的最大值,這可能表示需要增加保留項目運算單元的上限。如要瞭解如何查看時段使用情形,請參閱「查看管理資源圖表」。
定價
您可以免費使用時段估算工具。