

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

# 考量事項
<a name="Scaling-considerations"></a>

## 擴展時對 CPU 使用率的潛在影響
<a name="Scaling-considerations-cpu"></a>

在節點類型之間向上或向下擴展時，請注意與增強 I/O 功能相關的 CPU 使用率潛在影響。對於[支援的節點類型](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.SupportedTypes.html#CacheNodes.CurrentGen)，ElastiCache 預設會將網路 I/O 和 TLS 操作卸載至專用執行緒，以利用節點上可用的額外 CPU 核心。這些功能的可用性取決於您的引擎版本和節點類型：
+ **增強型 I/O (Redis 5.0.6\+)：**網路 I/O 是在專用執行緒上處理，在支援的節點類型上利用額外的 CPU 核心。
+ **TLS 卸載 (Redis 6.2.5\+)：**TLS 操作會卸載至 I/O 執行緒，進一步利用可用的 CPU 核心。
+ **增強型 I/O 多工 (Redis OSS 7.0.4\+ 或 Valkey 7.2.6\+)：**多個用戶端連線多工至 I/O 執行緒，增加輸送量並最佳化可用核心的 CPU 用量。

這些功能會將處理分散到節點上可用的額外 CPU 核心，以下列方式影響 CPU 指標：

**對 CPUUtilization 指標的影響**  
`CPUUtilization` 反映節點上所有核心的彙總 CPU 用量，包括專用 I/O 執行緒。由於增強型 I/O 功能會在這些額外的核心上使用 CPU，`CPUUtilization`因此 不是引擎實際容量和負載的可靠指標。

**EngineCPUUtilization 指標的影響**  
`EngineCPUUtilization` 僅測量主要 Redis 或 Valkey 引擎執行緒。當增強型 I/O 功能處於作用中狀態時，網路 I/O 和 TLS 處理等操作會從主執行緒卸載至專用 I/O 執行緒。這表示 `EngineCPUUtilization`可能會減少，因為主執行緒的工作量較少。 會`EngineCPUUtilization`準確反映您的實際工作負載容量，以及您的執行個體是否接近其處理限制。

**擴展案例**
+ **從不支援的節點類型擴展到支援的節點類型：**當增強型 I/O 功能在新節點類型上變成作用中時， `CPUUtilization`可能會隨著專用 I/O 執行緒開始使用其他 CPU 核心而增加。同時， `EngineCPUUtilization`可能會因為從主要引擎執行緒卸載操作而減少。
+ **在支援的節點類型內向上擴展：**其他 CPU 核心可用，可能會隨著 I/O 操作分散到更多資源`CPUUtilization`而減少。
+ **在支援的節點類型內向下擴展：**較少的 CPU 核心可用於處理 I/O 操作，這可能`CPUUtilization`隨著網路 I/O、TLS 處理和連線處理爭用有限的資源而增加。

**建議的監控方法**

我們建議您使用 `EngineCPUUtilization`而非 `CPUUtilization`進行監控。 會`EngineCPUUtilization`測量主要引擎執行緒的效能，並準確反映您的執行個體是否接近其處理限制。 `CPUUtilization`可能會因為增強型 I/O 功能如何使用可用核心的變更而隨引擎版本和節點類型而有所不同，使其成為容量規劃的不可靠指標。