

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

# 管理 Amazon Aurora MySQL 的效能和擴展
<a name="AuroraMySQL.Managing.Performance"></a>

## 擴展 Aurora MySQL 資料庫執行個體
<a name="AuroraMySQL.Managing.Performance.InstanceScaling"></a>

有兩種方式可以擴展 Aurora MySQL 資料庫執行個體：執行個體擴展和讀取擴展。如需讀取擴展的詳細資訊，請參閱[讀取擴展](Aurora.Managing.Performance.md#Aurora.Managing.Performance.ReadScaling)。

您可以修改資料庫叢集中每個資料庫執行個體的資料庫執行個體類別，來擴展 Aurora MySQL 資料庫叢集。Aurora MySQL 支援數個針對 Aurora 進行最佳化的資料庫執行個體類別。請勿針對大小超過 40 TB 的較大 Aurora 叢集，請使用 db.t2 或 db.t3 執行個體類別。如需 Aurora MySQL 支援資料庫執行個體類別的規格，請參閱[Amazon Aurora 資料庫執行個體類別](Concepts.DBInstanceClass.md)。

**注意**  
建議您在開發、測試伺服器或其他非生產伺服器時，僅使用 T 資料庫執行個體類別。如需詳細了解 T 執行個體類別，請參閱 [使用 T 執行個體類別進行開發和測試](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.T2Medium)。

## 對 Aurora MySQL 資料庫執行個體的連線數上限
<a name="AuroraMySQL.Managing.MaxConnections"></a><a name="max_connections"></a>

允許對 Aurora MySQL 資料庫執行個體建立的連線數上限，由資料庫執行個體的執行個體層級參數群組中的 `max_connections` 參數決定。

下表針對 Aurora MySQL 可用的每個資料庫執行個體類別，列出產生的 `max_connections` 預設值。您可以透過將執行個體向上擴展至具有更多記憶體的資料庫執行個體類別，或是為資料庫參數群組中 `max_connections` 參數設定較大的值 (最高 16,000)，藉此為您的 Aurora MySQL 資料庫執行個體增加連線數上限。

**提示**  
如果您的應用程式經常開啟和關閉連線，或者保持大量長期連線開啟，我們建議您使用 Amazon RDS Proxy。RDS 代理是個完全受管、高可用性的資料庫代理，其使用連線集區，安全且高效地共用資料庫連線。如要進一步了解 RDS 代理，請參閱 [Amazon RDS Proxy for Aurora](rds-proxy.md)。

 如需 Aurora Serverless v2 執行個體處理此參數的詳細資訊，請參閱 [Aurora Serverless v2 的連線數上限](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2.max-connections)。


| 執行個體類別 | max\$1connections 預設值 | 
| --- | --- | 
|  db.t2.small  |  45  | 
|  db.t2.medium  |  90  | 
|  db.t3.small  |  45  | 
|  db.t3.medium  |  90  | 
|  db.t3.large  |  135  | 
|  db.t4g.medium  |  90  | 
|  db.t4g.large  |  135  | 
|  db.r3.large  |  1000  | 
|  db.r3.xlarge  |  2000  | 
|  db.r3.2xlarge  |  3000  | 
|  db.r3.4xlarge  |  4000  | 
|  db.r3.8xlarge  |  5000  | 
|  db.r4.large  |  1000  | 
|  db.r4.xlarge  |  2000  | 
|  db.r4.2xlarge  |  3000  | 
|  db.r4.4xlarge  |  4000  | 
|  db.r4.8xlarge  |  5000  | 
|  db.r4.16xlarge  |  6000  | 
|  db.r5.large  |  1000  | 
|  db.r5.xlarge  |  2000  | 
|  db.r5.2xlarge  |  3000  | 
|  db.r5.4xlarge  |  4000  | 
|  db.r5.8xlarge  |  5000  | 
|  db.r5.12xlarge  |  6000  | 
|  db.r5.16xlarge  |  6000  | 
|  db.r5.24xlarge  |  7000  | 
| db.r6g.large | 1000 | 
| db.r6g.xlarge | 2000 | 
| db.r6g.2xlarge | 3000 | 
| db.r6g.4xlarge | 4000 | 
| db.r6g.8xlarge | 5000 | 
| db.r6g.12xlarge | 6000 | 
| db.r6g.16xlarge | 6000 | 
| db.r6i.large | 1000 | 
| db.r6i.xlarge | 2000 | 
| db.r6i.2xlarge | 3000 | 
| db.r6i.4xlarge | 4000 | 
| db.r6i.8xlarge | 5000 | 
| db.r6i.12xlarge | 6000 | 
| db.r6i.16xlarge | 6000 | 
| db.r6i.24xlarge | 7000 | 
| db.r6i.32xlarge | 7000 | 
| db.r7g.large | 1000 | 
| db.r7g.xlarge | 2000 | 
| db.r7g.2xlarge | 3000 | 
| db.r7g.4xlarge | 4000 | 
| db.r7g.8xlarge | 5000 | 
| db.r7g.12xlarge | 6000 | 
| db.r7g.16xlarge | 6000 | 
| db.r7i.large | 1000 | 
| db.r7i.xlarge | 2000 | 
| db.r7i.2xlarge | 3000 | 
| db.r7i.4xlarge | 4000 | 
| db.r7i.8xlarge | 5000 | 
| db.r7i.12xlarge | 6000 | 
| db.r7i.16xlarge | 6000 | 
| db.r7i.24xlarge | 7000 | 
| db.r7i.48xlarge | 8000 | 
| db.r8g.large | 1000 | 
| db.r8g.xlarge | 2000 | 
| db.r8g.2xlarge | 3000 | 
| db.r8g.4xlarge | 4000 | 
| db.r8g.8xlarge | 5000 | 
| db.r8g.12xlarge | 6000 | 
| db.r8g.16xlarge | 6000 | 
| db.r8g.24xlarge | 7000 | 
| db.r8g.48xlarge | 8000 | 
| db.x2g.large | 2000 | 
| db.x2g.xlarge | 3000 | 
| db.x2g.2xlarge | 4000 | 
| db.x2g.4xlarge | 5000 | 
| db.x2g.8xlarge | 6000 | 
| db.x2g.12xlarge | 7000 | 
| db.x2g.16xlarge | 7000 | 

**提示**  
`max_connections` 參數計算使用對數底數 2 (與自然對數不同)，以及所選 Aurora MySQL 執行個體類別的位元組 `DBInstanceClassMemory` 值。參數僅接受整數值，小數部分會從計算中截斷。公式會實作連線限制，如下所示：  
大型 R3, R4 和 R5 執行個體的連線遞增為 1000
T2 和 T3 執行個體記憶體變體的連線遞增為 45
範例：對於 db.r6g.large，當公式計算 1069.2 時，系統會實作 1000 以維持一致的遞增模式。

如果您建立新的參數群組以針對連線限制自訂您自己的預設值，則會看到系統根據 `DBInstanceClassMemory` 值使用公式來衍生預設連線限制。如上表所示，公式產生的連線限制會增加 1000，因為記憶體會在逐漸增大的 R3、R4 與 R5 執行個體之間加倍，而對於 T2 及 T3 執行個體的不同記憶體大小則增加 45。

請參閱 [指定資料庫參數](USER_ParamValuesRef.md) 以取得更多 `DBInstanceClassMemory` 計算方式的詳細資訊。

Aurora MySQL 和 RDS for MySQL 資料庫執行個體具有不同的記憶體額外負荷量。因此，使用相同執行個體類別的 Aurora MySQL 和 RDS for MySQL 資料庫執行個體的 `max_connections` 值可能會有所不同。資料表中的數值僅適用於 Aurora MySQL 資料庫執行個體。

**注意**  
T2 及 T3 執行個體的連線限制相對較低，原因是 Aurora 執行個體類別僅供開發和測試案例使用，而不用於生產工作負載。

預設連線限制是針對使用其他主要記憶體耗用者 (例如緩衝集區和查詢快取) 之預設值的系統而調整的。如果您針對叢集變更那些其他設定，請根據資料庫執行個體上可用記憶體的增加或減少比例來考慮調整連線限制。

## Aurora MySQL 的暫存空間限制
<a name="AuroraMySQL.Managing.TempStorage"></a>

Aurora MySQL 會將資料表和索引存放在 Aurora 儲存子系統。Aurora MySQL 對非持久性暫存檔案和非 InnoDB 暫存資料表會使用個別的暫存或本機儲存體。本機儲存體也包括用於查詢處理期間排序大型資料集或用於索引建置作業等目的的檔案。它不包括 InnoDB 暫存資料表。

如需 Aurora MySQL 第 3 版中暫存資料表的詳細資訊，請參閱 [Aurora MySQL 第 3 版的新暫時資料表行為](ams3-temptable-behavior.md)。如需第 2 版中暫存資料表的詳細資訊，請參閱 [Aurora MySQL 第 2 版的暫存資料表行為](AuroraMySQL.CompareMySQL57.md#AuroraMySQL.TempTables57)。

這些磁碟區上的資料和暫存檔案會在啟動和停止資料庫執行個體，以及主機取代期間遺失。

這些本機儲存磁碟區由 Amazon Elastic Block Store (EBS) 支援，且可透過使用更大的資料庫執行個體類別來擴充。如需儲存體的詳細資訊，請參閱[Amazon Aurora 儲存體](Aurora.Overview.StorageReliability.md)。

本機儲存體也用於使用 `LOAD DATA FROM S3` 或 `LOAD XML FROM S3` 從 Amazon S3 匯入資料，以及使用 SELECT INTO OUTFILE S3 將資料匯出至 S3。如需從 S3 匯入和匯出的詳細資訊，請參閱下列內容：
+ [從 Amazon S3 儲存貯體中的文字檔案將資料載入 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Integrating.LoadFromS3.md)
+ [將來自 Amazon Aurora MySQL 資料庫叢集的資料儲存至 Amazon S3 儲存貯體中的文字檔案](AuroraMySQL.Integrating.SaveIntoS3.md)

Aurora MySQL 對大多數 Aurora MySQL 資料庫執行個體類別 (不包括爆量效能執行個體類別類型，例如 db.t2、db.t3 和 db.t4g) 的錯誤日誌、一般日誌、緩慢查詢日誌和稽核日誌使用單獨的永久儲存體。啟動和停止資料庫執行個體時，以及在主機取代期間，系統會保留此磁碟區上的資料。

此永久儲存磁碟區也由 Amazon EBS 提供支援，並根據資料庫執行個體類別具有固定大小。它無法使用較大的資料庫執行個體類別進行擴展。

下表顯示每個 Aurora MySQL 資料庫執行個體類別可用的暫存和永久空間容量上限。如需 Aurora 之資料庫執行個體類別支援的詳細資訊，請參閱 [Amazon Aurora 資料庫執行個體類別](Concepts.DBInstanceClass.md)。


| DB instance class (資料庫執行個體類別) | 可用的暫存/本機空間上限 (GiB) | 日誌檔案可用的額外最大儲存空間 (GiB) | 
| --- | --- | --- | 
| db.x2g.16xlarge | 1280 | 500 | 
| db.x2g.12xlarge | 960 | 500 | 
| db.x2g.8xlarge | 640 | 500 | 
| db.x2g.4xlarge | 320 | 500 | 
| db.x2g.2xlarge | 160 | 60 | 
| db.x2g.xlarge | 80 | 60 | 
| db.x2g.large | 40 | 60 | 
| db.r8g.48xlarge | 3840 | 500 | 
| db.r8g.24xlarge | 1920 | 500 | 
| db.r8g.16xlarge | 1280 | 500 | 
| db.r8g.12xlarge | 960 | 500 | 
| db.r8g.8xlarge | 640 | 500 | 
| db.r8g.4xlarge | 320 | 500 | 
| db.r8g.2xlarge | 160 | 60 | 
| db.r8g.xlarge | 80 | 60 | 
| db.r8g.large | 32 | 60 | 
| db.r7i.48xlarge | 3840 | 500 | 
| db.r7i.24xlarge | 1920 | 500 | 
| db.r7i.16xlarge | 1280 | 500 | 
| db.r7i.12xlarge | 960 | 500 | 
| db.r7i.8xlarge | 640 | 500 | 
| db.r7i.4xlarge | 320 | 500 | 
| db.r7i.2xlarge | 160 | 60 | 
| db.r7i.xlarge | 80 | 60 | 
| db.r7i.large | 32 | 60 | 
| db.r7g.16xlarge | 1280 | 500 | 
| db.r7g.12xlarge | 960 | 500 | 
| db.r7g.8xlarge | 640 | 500 | 
| db.r7g.4xlarge | 320 | 500 | 
| db.r7g.2xlarge | 160 | 60 | 
| db.r7g.xlarge | 80 | 60 | 
| db.r7g.large | 32 | 60 | 
| db.r6i.32xlarge | 2560 | 500 | 
| db.r6i.24xlarge | 1920 | 500 | 
| db.r6i.16xlarge | 1280 | 500 | 
| db.r6i.12xlarge | 960 | 500 | 
| db.r6i.8xlarge | 640 | 500 | 
| db.r6i.4xlarge | 320 | 500 | 
| db.r6i.2xlarge | 160 | 60 | 
| db.r6i.xlarge | 80 | 60 | 
| db.r6i.large | 32 | 60 | 
| db.r6g.16xlarge | 1280 | 500 | 
| db.r6g.12xlarge | 960 | 500 | 
| db.r6g.8xlarge | 640 | 500 | 
| db.r6g.4xlarge | 320 | 500 | 
| db.r6g.2xlarge | 160 | 60 | 
| db.r6g.xlarge | 80 | 60 | 
| db.r6g.large | 32 | 60 | 
| db.r5.24xlarge | 1920 | 500 | 
| db.r5.16xlarge | 1280 | 500 | 
| db.r5.12xlarge | 960 | 500 | 
| db.r5.8xlarge | 640 | 500 | 
| db.r5.4xlarge | 320 | 500 | 
| db.r5.2xlarge | 160 | 60 | 
| db.r5.xlarge | 80 | 60 | 
| db.r5.large | 32 | 60 | 
| db.r4.16xlarge | 1280 | 500 | 
| db.r4.8xlarge | 640 | 500 | 
| db.r4.4xlarge | 320 | 500 | 
| db.r4.2xlarge | 160 | 60 | 
| db.r4.xlarge | 80 | 60 | 
| db.r4.large | 32 | 60 | 
| db.t4g.large | 32 | – | 
| db.t4g.medium | 32 | – | 
| db.t3.large | 32 | – | 
| db.t3.medium | 32 | – | 
| db.t3.small | 32 | – | 
| db.t2.medium | 32 | – | 
| db.t2.small | 32 | – | 

**重要**  
 這些值代表每個資料庫執行個體中理論上可用的儲存容量上限。您可用的實際本機儲存空間可能較低。Aurora 會將一些本機儲存空間用於其管理過程，甚至在您載入任何資料之前，資料庫執行個體都會使用一些本機儲存空間。您可以使用 `FreeLocalStorage` CloudWatch 指標來監控特定資料庫執行個體可用的暫存空間，如 [Amazon Aurora 的 Amazon CloudWatch 指標](Aurora.AuroraMonitoring.Metrics.md) 中所述。您可以檢查目前可用的免費儲存空間量。您也可以將一段時間內的免費儲存空間量繪製成圖表。監控一段時間內的免費儲存空間量，可協助您判斷值是增加還是減少，或可找出最小值、最大值或平均值。  
(這不適用於 Aurora Serverless v2。)