建立及管理執行個體分區

本頁說明如何建立及管理 Spanner 執行個體分割區

建立執行個體分區

控制台

  1. 在 Google Cloud 控制台中開啟「Spanner」頁面。

    前往 Spanner

  2. 選取要新增執行個體分割區的執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

  4. 按一下「建立執行個體分割區」

  5. 輸入執行個體分區 ID,永久識別執行個體分區。執行個體分區 ID 在執行個體中也不得重複。執行個體分割區 ID 設定後即無法變更。

  6. 在「選擇設定」部分,選取「區域」或「多區域」。或者,如要比較各區域的規格,請按一下「比較區域設定」

  7. 從下拉式選單中選取設定。

  8. 在「設定運算容量」部分,按一下「選取單位」下方的下列其中一個選項:

    • 大型執行個體的「Nodes」(節點)。一個節點等於 1,000 個處理單元。
    • 小型執行個體分區的處理單元

    詳情請參閱「運算能力、節點和處理單元」。

  9. 在「選擇資源調度模式」下方,按一下下列任一選項:

    • 手動分配:如要手動設定運算能力,取得定量的運算資源並支付定額費用。

      • 「數量」表示要用於這個執行個體的處理單元或節點數量。
    • 自動調度資源,讓 Spanner 自動增減運算能力。受管理自動調度器適用於 Spanner Enterprise 和 Enterprise Plus 版本。如要進一步瞭解代管自動調度資源,請參閱「Spanner 的代管自動調度資源」。設定下列代管自動調度資源選項:

      • 最小值表示縮減的下限,取決於您為「運算容量」選擇的測量單位。詳情請參閱「判斷最低限制」。
      • 「上限」表示擴充上限,取決於您為「運算容量」選擇的測量單位。詳情請參閱「判斷上限」。
      • 「高優先順序 CPU 使用率目標」表示高優先順序工作要使用的 CPU 目標百分比。詳情請參閱「判斷 CPU 使用率目標」。
      • 「CPU 總使用率目標」會指出所有低、中、高優先順序工作要使用的 CPU 目標百分比。詳情請參閱「判斷 CPU 總使用率目標」。
      • 「儲存空間使用率目標」表示要使用的儲存空間目標百分比。詳情請參閱「判斷儲存空間使用率目標」。
  10. 按一下「建立」,建立執行個體分割區。

gcloud

如要建立執行個體分區,請使用 gcloud spanner instance-partitions create

gcloud spanner instance-partitions create INSTANCE_PARTITION_ID \
  --config=INSTANCE_PARTITION_CONFIG \
  --description="INSTANCE_PARTITION_DESCRIPTION" \
  --instance=INSTANCE_ID \
  [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID,在執行個體內不得重複。執行個體分割區 ID 設定後即無法變更。
  • INSTANCE_PARTITION_CONFIG:執行個體分割區設定的永久 ID,可定義執行個體分割區的地理位置,並影響資料儲存位置。
  • INSTANCE_PARTITION_DESCRIPTION:要在 Google Cloud 控制台中顯示的執行個體分割區名稱。執行個體分割區名稱在執行個體中不得重複。
  • INSTANCE_ID:執行個體分區所在的 Spanner 執行個體永久 ID。
  • NODE_COUNT:執行個體分區的運算能力,以節點數量表示。一個節點等於 1000 個處理單元。
  • PROCESSING_UNIT_COUNT:執行個體的運算資源,以處理單元數量表示。執行個體分割區必須至少有 1000 個處理單元。輸入數量時,請以 1000 為單位 (1000、2000、3000 等)。

舉例來說,如要在 eur3 中建立 5 個節點的執行個體分區 europe-partition,請執行下列指令:

  gcloud spanner instance-partitions create europe-partition --config=eur3 \
    --description="europe-partition" --instance=test-instance --nodes=5

使用代管式自動調度資源

您可以使用 gcloud spanner instance-partitions create 指令搭配自動調度資源功能。詳情請參閱「受管理自動調度器」。

使用下列指令建立執行個體分割區,並搭配代管自動調度器:

  gcloud 
  spanner instance-partitions create INSTANCE_PARTITION_ID \
    --config=INSTANCE_PARTITION_CONFIG \
    --description="INSTANCE_PARTITION_DESCRIPTION" \
    --instance=INSTANCE_ID \
    --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \
    --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \
    --autoscaling-high-priority-cpu-target=HIGH_PRIORITY_CPU_PERCENTAGE \
    --autoscaling-total-cpu-target=TOTAL_CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

  gcloud spanner instance-partitions create INSTANCE_PARTITION_ID \
    --config=INSTANCE_PARTITION_CONFIG \
    --description="INSTANCE_PARTITION_DESCRIPTION" \
    --instance=INSTANCE_ID \
    --autoscaling-min-nodes=MINIMUM_NODES \
    --autoscaling-max-nodes=MAXIMUM_NODES \
    --autoscaling-high-priority-cpu-target=HIGH_PRIORITY_CPU_PERCENTAGE \
    --autoscaling-total-cpu-target=TOTAL_CPU_PERCENTAGE
    --autoscaling-storage-target=STORAGE_PERCENTAGE

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID,在執行個體內不得重複。執行個體分割區 ID 設定後即無法變更。
  • INSTANCE_PARTITION_CONFIG:執行個體分割區設定的永久 ID,可定義執行個體分割區的地理位置,並影響資料儲存位置。
  • INSTANCE_PARTITION_DESCRIPTION:要在 Google Cloud 控制台中顯示的執行個體分割區名稱。執行個體分割區名稱在執行個體中不得重複。
  • INSTANCE_ID:執行個體分區所在的 Spanner 執行個體永久 ID。
  • MINIMUM_PROCESSING_UNITSMINIMUM_NODES:縮減規模時的處理單元或節點數量下限。詳情請參閱「判斷最低限制」。
  • MAXIMUM_PROCESSING_UNITSMAXIMUM_NODES:擴充時的處理單元或節點數量上限。詳情請參閱「判斷上限」。
  • HIGH_PRIORITY_CPU_PERCENTAGE:根據工作優先順序,要使用的高優先順序 CPU 目標百分比。CPU 百分比範圍為 10% 至 90%。詳情請參閱「判斷高優先順序 CPU 使用率目標」。
  • TOTAL_CPU_PERCENTAGE:要使用的總優先順序 CPU 目標百分比。總 CPU 目標必須大於高優先順序 CPU 目標。CPU 百分比範圍為 10% 至 90%。 詳情請參閱「判斷 CPU 總使用率目標」。
  • STORAGE_PERCENTAGE:要使用的目標儲存空間百分比,範圍為 10% 至 99%。詳情請參閱「判斷儲存空間使用率目標」。

用戶端程式庫

C++

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。

void CreateInstancePartition(
    google::cloud::spanner_admin::InstanceAdminClient client,
    std::string const& project_id, std::string const& instance_id,
    std::string const& instance_partition_id) {
  auto project = google::cloud::Project(project_id);
  auto in = google::cloud::spanner::Instance(project_id, instance_id);
  auto config = project.FullName() + "/instanceConfigs/nam3";

  google::spanner::admin::instance::v1::CreateInstancePartitionRequest request;
  request.set_parent(in.FullName());
  request.set_instance_partition_id(instance_partition_id);
  request.mutable_instance_partition()->set_display_name(
      "Test instance partition");
  request.mutable_instance_partition()->set_node_count(1);
  request.mutable_instance_partition()->set_config(config);

  auto instance_partition = client.CreateInstancePartition(request).get();
  if (!instance_partition) throw std::move(instance_partition).status();
  std::cout << "Created instance partition [" << instance_partition_id << "]:\n"
            << instance_partition->DebugString();
}

C#

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。


using Google.Cloud.Spanner.Admin.Instance.V1;
using Google.Cloud.Spanner.Common.V1;
using Google.LongRunning;
using System;

public class CreateInstancePartitionSample
{
    public InstancePartition CreateInstancePartition(string projectId, string instanceId, string instancePartitionId)
    {
        // Create the InstanceAdminClient instance.
        InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();

        // Initialize request parameters.
        InstancePartition partition = new InstancePartition
        {
            DisplayName = "This is a display name.",
            NodeCount = 1,
            ConfigAsInstanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, "nam3"),
        };
        InstanceName instanceName = InstanceName.FromProjectInstance(projectId, instanceId);

        // Make the CreateInstancePartition request.
        Operation<InstancePartition, CreateInstancePartitionMetadata> response = instanceAdminClient.CreateInstancePartition(instanceName, partition, instancePartitionId);

        Console.WriteLine("Waiting for the operation to finish.");

        // Poll until the returned long-running operation is complete.
        Operation<InstancePartition, CreateInstancePartitionMetadata> completedResponse = response.PollUntilCompleted();

        if (completedResponse.IsFaulted)
        {
            Console.WriteLine($"Error while creating instance partition: {completedResponse.Exception}");
            throw completedResponse.Exception;
        }

        Console.WriteLine($"Instance created successfully.");

        return completedResponse.Result;
    }
}

Go

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。

import (
	"context"
	"fmt"
	"io"

	instance "cloud.google.com/go/spanner/admin/instance/apiv1"
	"cloud.google.com/go/spanner/admin/instance/apiv1/instancepb"
)

// Example of creating an instance partition with Go.
// projectID is the ID of the project that the new instance partition will be in.
// instanceID is the ID of the instance that the new instance partition will be in.
// instancePartitionID is the ID of the new instance partition to be created.
func createInstancePartition(w io.Writer, projectID, instanceID, instancePartitionID string) error {
	// projectID := "my-project-id"
	// instanceID := "my-instance"
	// instancePartitionID := "my-instance-partition"
	ctx := context.Background()
	instanceAdmin, err := instance.NewInstanceAdminClient(ctx)
	if err != nil {
		return err
	}
	defer instanceAdmin.Close()

	op, err := instanceAdmin.CreateInstancePartition(ctx, &instancepb.CreateInstancePartitionRequest{
		Parent:              fmt.Sprintf("projects/%s/instances/%s", projectID, instanceID),
		InstancePartitionId: instancePartitionID,
		InstancePartition: &instancepb.InstancePartition{
			Config:          fmt.Sprintf("projects/%s/instanceConfigs/%s", projectID, "nam3"),
			DisplayName:     "my-instance-partition",
			ComputeCapacity: &instancepb.InstancePartition_NodeCount{NodeCount: 1},
		},
	})
	if err != nil {
		return fmt.Errorf("could not create instance partition %s: %w", fmt.Sprintf("projects/%s/instances/%s/instancePartitions/%s", projectID, instanceID, instancePartitionID), err)
	}
	// Wait for the instance partition creation to finish.
	i, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("waiting for instance partition creation to finish failed: %w", err)
	}
	// The instance partition may not be ready to serve yet.
	if i.State != instancepb.InstancePartition_READY {
		fmt.Fprintf(w, "instance partition state is not READY yet. Got state %v\n", i.State)
	}
	fmt.Fprintf(w, "Created instance partition [%s]\n", instancePartitionID)
	return nil
}

Java

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。


import com.google.cloud.spanner.Spanner;
import com.google.cloud.spanner.SpannerOptions;
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient;
import com.google.spanner.admin.instance.v1.CreateInstancePartitionRequest;
import com.google.spanner.admin.instance.v1.InstanceConfigName;
import com.google.spanner.admin.instance.v1.InstanceName;
import com.google.spanner.admin.instance.v1.InstancePartition;
import java.util.concurrent.ExecutionException;

class CreateInstancePartitionSample {

  static void createInstancePartition() {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project";
    String instanceId = "my-instance";
    String instancePartitionId = "my-instance-partition";
    createInstancePartition(projectId, instanceId, instancePartitionId);
  }

  static void createInstancePartition(
      String projectId, String instanceId, String instancePartitionId) {
    // Set instance partition configuration.
    int nodeCount = 1;
    String displayName = "Descriptive name";

    // Create an InstancePartition object that will be used to create the instance partition.
    InstancePartition instancePartition =
        InstancePartition.newBuilder()
            .setDisplayName(displayName)
            .setNodeCount(nodeCount)
            .setConfig(InstanceConfigName.of(projectId, "nam3").toString())
            .build();

    try (Spanner spanner =
            SpannerOptions.newBuilder().setProjectId(projectId).build().getService();
        InstanceAdminClient instanceAdminClient = spanner.createInstanceAdminClient()) {

      // Wait for the createInstancePartition operation to finish.
      InstancePartition createdInstancePartition =
          instanceAdminClient
              .createInstancePartitionAsync(
                  CreateInstancePartitionRequest.newBuilder()
                      .setParent(InstanceName.of(projectId, instanceId).toString())
                      .setInstancePartitionId(instancePartitionId)
                      .setInstancePartition(instancePartition)
                      .build())
              .get();
      System.out.printf(
          "Instance partition %s was successfully created%n", createdInstancePartition.getName());
    } catch (ExecutionException e) {
      System.out.printf(
          "Error: Creating instance partition %s failed with error message %s%n",
          instancePartition.getName(), e.getMessage());
    } catch (InterruptedException e) {
      System.out.println(
          "Error: Waiting for createInstancePartition operation to finish was interrupted");
    }
  }
}

Node.js

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。

// Imports the Google Cloud client library
const {Spanner} = require('@google-cloud/spanner');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = 'my-project-id';
// const instanceId = 'my-instance';
// const instancePartitionId = 'my-instance-partition';

// Creates a client
const spanner = new Spanner({
  projectId: projectId,
});

// Get the instance admin client
const instanceAdminClient = spanner.getInstanceAdminClient();

// Creates a new instance partition
try {
  console.log(
    `Creating instance partition ${instanceAdminClient.instancePartitionPath(
      projectId,
      instanceId,
      instancePartitionId,
    )}.`,
  );
  const [operation] = await instanceAdminClient.createInstancePartition({
    instancePartitionId: instancePartitionId,
    parent: instanceAdminClient.instancePath(projectId, instanceId),
    instancePartition: {
      config: instanceAdminClient.instanceConfigPath(projectId, 'nam3'),
      nodeCount: 1,
      displayName: 'Test instance partition',
    },
  });

  console.log(
    `Waiting for operation on ${instancePartitionId} to complete...`,
  );
  await operation.promise();

  console.log(`Created instance partition ${instancePartitionId}.`);
} catch (err) {
  console.error('ERROR:', err);
}

PHP

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。

use Google\Cloud\Spanner\Admin\Instance\V1\Client\InstanceAdminClient;
use Google\Cloud\Spanner\Admin\Instance\V1\CreateInstancePartitionRequest;
use Google\Cloud\Spanner\Admin\Instance\V1\InstancePartition;

/**
 * Creates an instance partition.
 * Example:
 * ```
 * create_instance_partition($projectId, $instanceId, $instancePartitionId);
 * ```
 *
 * @param string $projectId The Google Cloud project ID.
 * @param string $instanceId The Spanner instance ID.
 * @param string $instancePartitionId The instance partition ID.
 */
function create_instance_partition(string $projectId, string $instanceId, string $instancePartitionId): void
{
    $instanceAdminClient = new InstanceAdminClient();

    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);
    $instancePartitionName = $instanceAdminClient->instancePartitionName($projectId, $instanceId, $instancePartitionId);
    $configName = $instanceAdminClient->instanceConfigName($projectId, 'nam3');

    $instancePartition = (new InstancePartition())
        ->setConfig($configName)
        ->setDisplayName('Test instance partition.')
        ->setNodeCount(1);

    $operation = $instanceAdminClient->createInstancePartition(
        (new CreateInstancePartitionRequest())
        ->setParent($instanceName)
        ->setInstancePartitionId($instancePartitionId)
        ->setInstancePartition($instancePartition)
    );

    print('Waiting for operation to complete...' . PHP_EOL);
    $operation->pollUntilComplete();

    printf('Created instance partition %s' . PHP_EOL, $instancePartitionId);
}

Python

如要瞭解如何安裝及使用 Spanner 的用戶端程式庫,請參閱「Spanner 用戶端程式庫」。

def create_instance_partition(instance_id, instance_partition_id):
    """Creates an instance partition."""
    from google.cloud.spanner_admin_instance_v1.types import spanner_instance_admin

    spanner_client = spanner.Client()
    instance_admin_api = spanner_client.instance_admin_api

    config_name = "{}/instanceConfigs/nam3".format(spanner_client.project_name)

    operation = spanner_client.instance_admin_api.create_instance_partition(
        parent=instance_admin_api.instance_path(spanner_client.project, instance_id),
        instance_partition_id=instance_partition_id,
        instance_partition=spanner_instance_admin.InstancePartition(
            config=config_name,
            display_name="Test instance partition",
            node_count=1,
        ),
    )

    print("Waiting for operation to complete...")
    operation.result(OPERATION_TIMEOUT_SECONDS)

    print("Created instance partition {}".format(instance_partition_id))

說明執行個體分區

gcloud

如要說明執行個體分區,請使用 gcloud spanner instance-partitions describe

gcloud spanner instance-partitions describe PARTITION_ID \
  --instance=INSTANCE_ID

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID。
  • INSTANCE_ID:執行個體的永久 ID。

舉例來說,如要說明執行個體分區 europe-partition,請執行下列指令:

  gcloud spanner instance-partitions describe europe-partition
    --instance=test-instance

列出執行個體分區

控制台

  1. 在 Google Cloud 控制台中開啟「Spanner」頁面。

    前往 Spanner

  2. 從清單中選取執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

    系統會顯示與該執行個體相關聯的執行個體分割區清單。

gcloud

如要列出執行個體分割區,請使用 gcloud spanner instance-partitions list

gcloud spanner instance-partitions list --instance=INSTANCE_ID

gcloud CLI 會顯示 Spanner 執行個體分區清單,以及每個執行個體分區的 ID、顯示名稱、設定和運算容量。

編輯執行個體分區

下節說明如何變更執行個體分區的運算容量。您無法變更執行個體分割區 ID、名稱或設定。

變更運算能力

您必須佈建足夠的運算資源,讓 CPU 使用率儲存空間使用率維持在建議最大值以下。詳情請參閱 Spanner 的配額與限制

如要增加執行個體分區的運算資源,您的Google Cloud 專案必須有足夠的配額,才能增加運算資源。完成增加要求所需的時間取決於要求的大小。在大多數情況下,要求會在幾分鐘內完成。在極少數情況下,擴充作業最多可能需要一小時才能完成。

控制台

  1. 在 Google Cloud 控制台中開啟「Spanner」頁面。

    前往 Spanner

  2. 從清單中選取執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

  4. 在執行個體分割區清單的「動作」欄下方,按一下「更多動作」,然後選取「編輯」

  5. 選擇測量單位 (處理單元或節點),然後輸入數量,即可變更運算資源。使用處理單元時,請輸入 1,000 的倍數 (1,000、2,000、3,000 等)。每個節點等於 1000 個處理單元。

    執行個體分割區必須至少有一個節點 (1,000 個處理單元)。

  6. 按一下 [儲存]

    如果出現對話方塊,指出您的配額不足,無法新增運算容量,請按照操作說明申請更多配額。

gcloud

如要變更執行個體分區的運算能力,請使用 gcloud spanner instance-partitions update。使用這項指令時,請以節點或處理單元數量指定運算資源

gcloud spanner instance-partitions update INSTANCE_PARTITION_ID \
  --instance=INSTANCE_ID \
  [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]
  [--async]

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID。
  • INSTANCE_ID:執行個體的永久 ID。
  • NODE_COUNT:執行個體分區的新運算能力,以節點數量表示。一個節點等於 1000 個處理單元。
  • PROCESSING_UNIT_COUNT:執行個體分區的新運算能力,以處理單元數量表示。執行個體分區必須至少有 1000 個處理單元。請輸入 1000 的倍數 (1000、2000、3000 等)。

選用標記:

  • --async:如要讓要求立即傳回,而不必等待進行中的作業完成,請使用這個旗標。

您可以執行 gcloud spanner operations describe,查看要求狀態。

在執行個體分割區上啟用或修改代管自動調度器

在現有執行個體分割區上啟用或變更代管自動調度資源功能時,適用下列限制:

控制台

  1. 在 Google Cloud 控制台中開啟「Spanner」頁面。

    前往 Spanner

  2. 從清單中選取執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

  4. 在執行個體分割區清單的「動作」欄下方,按一下「更多動作」,然後選取「編輯」

  5. 在「設定運算能力」下方,按一下「自動調度資源」

  6. 在「Minimum」(下限) 中,選取縮減時要使用的下限。 詳情請參閱「判斷最低限制」。

  7. 在「上限」部分,選取擴充時使用的上限。詳情請參閱「判斷上限」。

  8. 在「高優先順序 CPU 使用率目標」中,輸入要用於高優先順序工作的 CPU 百分比。詳情請參閱「判斷 CPU 使用率目標」。

  9. 在「CPU 總使用率目標」中,輸入要用於所有低、中、高優先順序工作的目標 CPU 百分比。 CPU 百分比範圍為 10% 至 90%。詳情請參閱「判斷 CPU 總使用率目標」。

  10. 在「儲存空間使用率目標」中,輸入要使用的儲存空間百分比。詳情請參閱「判斷儲存空間使用率目標」。

  11. 按一下 [儲存]

gcloud

使用 gcloud spanner instance-partitions update 指令,在執行個體分割區上啟用代管自動調度資源功能。如要瞭解詳情和限制,請參閱「Google Cloud CLI 標記和限制」。

您可以使用下列指令新增受管理自動調度器:

  gcloud spanner instance-partitions update INSTANCE_PARTITION_ID \
    --instance=INSTANCE_ID \
    --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \
    --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \
    --autoscaling-high-priority-cpu-target=HIGH_PRIORITY_CPU_PERCENTAGE \
    --autoscaling-total-cpu-target=TOTAL_CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

  gcloud spanner instance-partitions update INSTANCE_PARTITION_ID \
    --instance=INSTANCE_ID \
    --autoscaling-min-nodes=MINIMUM_NODES \
    --autoscaling-max-nodes=MAXIMUM_NODES \
    --autoscaling-high-priority-cpu-target=HIGH_PRIORITY_CPU_PERCENTAGE \
    --autoscaling-total-cpu-target=TOTAL_CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID。
  • INSTANCE_ID:執行個體的永久 ID。
  • MINIMUM_PROCESSING_UNITSMINIMUM_NODES:縮減規模時要使用的處理單元或節點數量下限。詳情請參閱「判斷最低限制」。
  • MAXIMUM_PROCESSING_UNITSMAXIMUM_NODES:擴充時要使用的處理單元或節點數量上限。詳情請參閱「判斷上限」。
  • HIGH_PRIORITY_CPU_PERCENTAGE:根據工作優先順序,要使用的高優先順序 CPU 目標百分比。CPU 百分比範圍為 10% 至 90%。詳情請參閱「判斷高優先順序 CPU 使用率目標」。
  • TOTAL_CPU_PERCENTAGE:要使用的總優先順序 CPU 目標百分比。總 CPU 目標必須大於高優先順序 CPU 目標。CPU 百分比範圍為 10% 至 90%。 詳情請參閱「判斷 CPU 總使用率目標」。
  • STORAGE_PERCENTAGE:儲存空間使用率目標百分比,範圍為 10% 至 99%。詳情請參閱「判斷儲存空間使用率目標」。

在執行個體分割區啟用代管自動調度器後,您也可以修改代管自動調度器設定。舉例來說,如要將處理單元上限增加至 10000,請執行下列指令:

gcloud spanner instance-partitions update test-instance-partition \
     --instance=test-instance
     --autoscaling-max-processing-units=10000

將執行個體分區從使用代管自動調度器變更為手動調度資源

控制台

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

    前往「Instances」(執行個體) 頁面

  2. 從清單中選取執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

  4. 在執行個體分割區清單的「動作」欄下方,按一下「更多動作」,然後選取「編輯」

  5. 在「選擇資源調度模式」下方,勾選「手動分配」方塊。

  6. 按一下 [儲存]

gcloud

使用 gcloud spanner instance-partitions update 指令更新執行個體分區。

使用下列指令,將執行個體分割區從使用代管自動調度器變更為手動調度:

  gcloud spanner instance-partitions update INSTANCE_PARTITION_ID \
    --instance=INSTANCE_ID \
  --processing-units=PROCESSING_UNIT_COUNT

  gcloud spanner instance-partitions update INSTANCE_PARTITION_ID \
    --instance=INSTANCE_ID \
  --nodes=NODE_COUNT

更改下列內容:

  • INSTANCE_PARTITION_ID:執行個體分區的永久 ID。
  • INSTANCE_ID:執行個體的永久 ID。
  • NODE_COUNT:執行個體的運算能力,以節點數表示。每個節點等於 1000 個處理單元。
  • PROCESSING_UNIT_COUNT:執行個體的運算資源,以處理單元數量表示。執行個體分區的處理單元下限為 1000。

刪除執行個體分區

如果執行個體分區與任何放置位置或資料相關聯,就無法刪除。如要刪除執行個體分區,請務必先移動執行個體分區中的所有資料,或刪除使用執行個體分區的刊登位置資料表。

控制台

  1. 在 Google Cloud 控制台中開啟「Spanner」頁面。

    前往 Spanner

  2. 從清單中選取執行個體。

  3. 在導覽選單中,選取「執行個體分割區」

  4. 在執行個體分割區清單的「動作」欄下方,按一下「更多動作」,然後選取「刪除」

  5. 請按照操作說明來確認您要刪除的執行個體分割區。

  6. 點選「刪除」。

gcloud

使用 gcloud spanner instance-partitions delete 指令。

gcloud spanner instance-partitions delete INSTANCE_PARTITION_ID
  --instance=INSTANCE_ID

後續步驟