

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 最佳化 RDS for SQL Server 執行個體CPUs
<a name="SQLServer.Concepts.General.OptimizeCPU"></a>

透過 RDS for SQL Server，您可以指定處理器功能來設定資料庫執行個體上的 vCPU 計數，同時維護相同的記憶體和 IOPS，藉此使用最佳化 CPU。您可以針對特定資料庫工作負載需求達成所需的memory-to-CPU比率，並降低以 vCPU 計數為基礎的 Microsoft Windows 作業系統和 SQL Server 授權成本。

若要指定處理器功能，請使用下列參數：

```
--processor-features "Name=coreCount,Value={{value}}" \ 
	"Name=threadsPerCore,Value={{value}}"
```
+ **coreCount** – 指定資料庫執行個體的 CPU 核心數量，以最佳化資料庫執行個體的授權成本。請參閱 [支援最佳化 CPU 的資料庫執行個體類別](SQLServer.Concepts.General.OptimizeCPU.Support.md) 尋找所選執行個體類型之核心計數的允許值。
+ **threadsPerCore** – 指定每個核心的執行緒，以定義每個 CPU 核心的執行緒數目。請參閱 [支援最佳化 CPU 的資料庫執行個體類別](SQLServer.Concepts.General.OptimizeCPU.Support.md) 以尋找所選執行個體類型的每個核心執行緒的允許值。

使用最佳化 CPU 設定建立 RDS for SQL Server 執行個體的範例命令：

```
aws rds create-db-instance \
    --engine sqlserver-ee \
    --engine-version 16.00 \
    --license-model license-included \
    --allocated-storage {{300}} \
    --master-username {{myuser}} \
    --master-user-password {{xxxxx}} \
    --no-multi-az \
    --vpc-security-group-ids myvpcsecuritygroup \
    --db-subnet-group-name mydbsubnetgroup \
    --db-instance-identifier my-rds-instance \
    --db-instance-class db.m7i.8xlarge \
    --processor-features "Name=coreCount,Value=8" "Name=threadsPerCore,Value=1"
```

在此範例中，您會建立`db.m7i.8xlarge`執行個體，其 coreCount 預設為 16。透過使用最佳化 CPU，您可以選擇 coreCount 為 8，因此有效的 vCPU 計數為 8。

如果您建立沒有 `--processor-features` 參數的執行個體，則核心計數會設為 16，且每個核心的執行緒會預設為 1，導致預設 vCPU 計數為 16。

指定處理器功能時需要注意的一些考量事項：
+ **建立** – 從允許的值`threadsPerCore`為 `processor-features` 參數指定 `coreCount`和 。請參閱 [支援最佳化 CPU 的資料庫執行個體類別](SQLServer.Concepts.General.OptimizeCPU.Support.md)。
+ **修改** – 從使用最佳化 CPU 設定設定的執行個體類別修改為支援最佳化 CPU 設定的執行個體類別時，您必須使用 `--use-default-processor-features` 參數指定預設處理器設定，或在修改請求期間明確定義選項。
**注意**  
變更 vCPU 計數可能會影響與資料庫執行個體相關聯的授權費用。
+ **快照還原** – 將快照還原至與來源相同的執行個體類型時，還原的資料庫執行個體會從快照繼承最佳化 CPU 設定。如果還原至不同的執行個體類型，您需要定義目標執行個體的最佳化 CPU 設定或指定 `--use-default-processor-features` 參數。
+ **Point-in-time還原** – Point-in-time還原 (PITR) 涉及根據 PITR 的指定時間還原特定快照，並隨後將所有交易日誌備份套用至該快照，藉此將執行個體帶到指定的時間點。對於 PITR，最佳化 CPU 設定 `coreCount`和 衍生自來源快照 （而非時間點）`threadsPerCore`，除非在 PITR 請求期間指定自訂值。如果使用最佳化 CPU 設定來啟用使用中的來源快照，而且您針對 PITR 使用不同的執行個體類型，您必須定義目標執行個體的最佳化 CPU 設定或指定 `—-use-default-processor-features` 參數。

## 限制
<a name="SQLServer.Concepts.General.OptimizeCPU.Limitations"></a>

使用最佳化 CPU 時，適用下列限制：
+ Optimize CPU 支援下列版本：Enterprise、Standard 和 Web （包含授權），以及 Enterprise、Standard 和 Developer （使用您自己的媒體）。支援的執行個體系列包括 m7i、r7i、m8i、r8i、m8a、r8a 和 x2m。
+ 根據執行個體類別，最佳化 CPU 提供不同的有效核心設定。如需詳細資訊，請參閱[支援最佳化 CPU 的資料庫執行個體類別](SQLServer.Concepts.General.OptimizeCPU.Support.md)。
+ 在 `2xlarge`和更新版本的執行個體大小上，支援自訂 CPU 核心數量。使用這些執行個體類型時，最佳化 CPU 支援的 vCPCU 數目下限為 4。
+ 最佳化 CPU 只允許每個核心 1 個執行緒，因為從支援最佳化 CPU 的第 7 代開始的執行個體停用超執行緒。