

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

# 在 Amazon RDS 上使用績效詳情監控資料庫負載
<a name="USER_PerfInsights"></a>

**重要**  
 AWS 已宣布績效詳情的end-of-life：2026 年 6 月 30 日。在此日期之後，Amazon RDS 將不再支援 Performance Insights 主控台體驗、彈性保留期間 (1-24 個月) 及其相關定價。Performance Insights API 將繼續存在，不會有任何定價變更。Performance Insights API 的成本會顯示在您的 AWS 帳單中，其中包含 CloudWatch Database Insights 的成本。  
 我們建議您在 2026 年 6 月 30 日之前，使用已付費的績效詳情方案，將任何資料庫執行個體升級至資料庫詳情的進階模式。如需有關升級至 Database Insights 進階模式的資訊，請參閱 [開啟適用於 Amazon RDS 的 Database Insights 的進階模式](USER_DatabaseInsights.TurningOnAdvanced.md)。  
 如果您不採取任何動作，則使用 Performance Insights 的資料庫執行個體依預設會使用 Database Insights 的標準模式。使用 Database Insights 的標準模式時，您可能會失去超過 7 天的效能資料歷史記錄存取權，而且可能無法在 Amazon RDS 主控台中使用執行計畫和隨需分析功能。2026 年 6 月 30 日之後，只有進階模式的 Database Insights 將支援執行計畫和隨需分析。  
 透過 CloudWatch Database Insights，您可以監控資料庫機群的資料庫負載，以及大規模分析效能和進行疑難排解。如需 Database Insights 的詳細資訊，請參閱 [使用 CloudWatch Database Insights 監控 Amazon RDS 資料庫](USER_DatabaseInsights.md)。如需定價資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

績效詳情會擴展現有 Amazon RDS 監控功能，以說明並協助您分析資料庫效能。利用績效詳情儀表板，您可將 Amazon RDS 資料庫執行個體負載 上的資料庫負載視覺化，並依等候、SQL 陳述式、主機或使用者篩選負載。如需有關搭配 Amazon DocumentDB 使用績效詳情的資訊，請參閱《*[Amazon DocumentDB 開發人員指南](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html)*》。

**Topics**
+ [Amazon RDS 上的績效詳情概觀](USER_PerfInsights.Overview.md)
+ [開啟和關閉 Amazon RDS 的 Performance Insights](USER_PerfInsights.Enabling.md)
+ [Amazon RDS for MariaDB 或 MySQL 上 Performance Insights 的效能結構描述概觀](USER_PerfInsights.EnableMySQL.md)
+ [設定績效詳情的存取政策](USER_PerfInsights.access-control.md)
+ [使用績效詳情儀表板來分析指標](USER_PerfInsights.UsingDashboard.md)
+ [檢視 Performance Insights 主動建議](USER_PerfInsights.InsightsRecommendationViewDetails.md)
+ [使用適用於 Amazon RDS 的 Performance Insights API 來擷取指標](USER_PerfInsights.API.md)
+ [使用 AWS CloudTrail 記錄績效詳情呼叫](USER_PerfInsights.CloudTrail.md)
+ [Performance Insights API 和界面 VPC 端點 (AWS PrivateLink)](pi-vpc-interface-endpoints.md)

# Amazon RDS 上的績效詳情概觀
<a name="USER_PerfInsights.Overview"></a>

**重要**  
 AWS 已宣布績效詳情的end-of-life：2026 年 6 月 30 日。在此日期之後，Amazon RDS 將不再支援 Performance Insights 主控台體驗、彈性保留期間 (1-24 個月) 及其相關定價。Performance Insights API 將繼續存在，不會有任何定價變更。Performance Insights API 的成本會顯示在您的 AWS 帳單中，其中包含 CloudWatch Database Insights 的成本。  
 我們建議您在 2026 年 6 月 30 日之前，使用已付費的績效詳情方案，將任何資料庫執行個體升級至資料庫詳情的進階模式。如需有關升級至 Database Insights 進階模式的資訊，請參閱 [開啟適用於 Amazon RDS 的 Database Insights 的進階模式](USER_DatabaseInsights.TurningOnAdvanced.md)。  
 如果您不採取任何動作，則使用 Performance Insights 的資料庫執行個體依預設會使用 Database Insights 的標準模式。使用 Database Insights 的標準模式時，您可能會失去超過 7 天的效能資料歷史記錄存取權，而且可能無法在 Amazon RDS 主控台中使用執行計畫和隨需分析功能。2026 年 6 月 30 日之後，只有進階模式的 Database Insights 將支援執行計畫和隨需分析。  
 透過 CloudWatch Database Insights，您可以監控資料庫機群的資料庫負載，以及大規模分析效能和進行疑難排解。如需 Database Insights 的詳細資訊，請參閱 [使用 CloudWatch Database Insights 監控 Amazon RDS 資料庫](USER_DatabaseInsights.md)。如需定價資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

根據預設，RDS 會在所有 Amazon RDS 引擎的主控台建立精靈中啟用 Performance Insights。如果您在一個資料庫執行個體上有多個資料庫，績效詳情會彙整效能資料。

您可於下方影片中找到 Amazon RDS 的績效詳情概觀。

[![AWS Videos](http://img.youtube.com/vi/yOeWcPBT458/0.jpg)](http://www.youtube.com/watch?v=yOeWcPBT458)


**重要**  
下列主題說明搭配非 Aurora 資料庫引擎來使用 Amazon RDS 績效詳情。如需搭配使用 Amazon RDS Performance Insights 與 Amazon Aurora 的詳細資訊，請參閱《Amazon Aurora 使用者指南》**中的[使用 Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html)。

**Topics**
+ [資料庫負載](USER_PerfInsights.Overview.ActiveSessions.md)
+ [最大 CPU](USER_PerfInsights.Overview.MaxCPU.md)
+ [Performance Insights 的 Amazon RDS 資料庫引擎、區域和執行個體類別支援](USER_PerfInsights.Overview.Engines.md)
+ [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)

# 資料庫負載
<a name="USER_PerfInsights.Overview.ActiveSessions"></a>

*資料庫負載 (資料庫負載)* 會測量資料庫中工作階段活動的層級。`DBLoad` 是 Performance Insights 中的關鍵指標，而 Performance Insights 每秒收集資料庫負載。

**Topics**
+ [作用中的工作階段](#USER_PerfInsights.Overview.ActiveSessions.active-sessions)
+ [平均作用中工作階段](#USER_PerfInsights.Overview.ActiveSessions.AAS)
+ [平均作用中執行數](#USER_PerfInsights.Overview.ActiveSessions.AAE)
+ [維度](#USER_PerfInsights.Overview.ActiveSessions.dimensions)

## 作用中的工作階段
<a name="USER_PerfInsights.Overview.ActiveSessions.active-sessions"></a>

*資料庫工作階段*代表應用程式與關聯式資料庫的對話。作用中工作階段是已提交工作給資料庫引擎且正在等待回應的連線。

工作階段處於作用中是指工作階段正在 CPU 上執行，或等待資源變成可用以繼續執行。例如，作用中工作階段可能等待分頁 (或區塊) 讀入記憶體中，然後從分頁讀取資料時耗用 CPU。

## 平均作用中工作階段
<a name="USER_PerfInsights.Overview.ActiveSessions.AAS"></a>

*平均作用中工作階段 (AAS)* 是 `DBLoad` 績效詳情的單位。它會測量資料庫上同時處於作用中狀態的工作階段數目。

每一秒，績效詳情都會取樣同時執行查詢的工作階段數目。針對每個作用中的工作階段，績效詳情會收集下列資料：
+ SQL 陳述式
+ 工作階段狀態 (正在 CPU 上執行或等待中)
+ 主機
+ 執行 SQL 的使用者

績效詳情會計算 AAS，方法是將工作階段總數除以特定時段的樣本數。例如，下表顯示執行查詢的 5 個連續範例，間隔至少為 1 秒。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

在上述範例中，時間間隔的資料庫負載為 2 AAS。此測量表示在採集 5 個樣本的間隔期間內，於任何特定時間平均有 2 個工作階段處於作用中。

## 平均作用中執行數
<a name="USER_PerfInsights.Overview.ActiveSessions.AAE"></a>

每秒平均作用中執行數 (AAE) 與 AAS 相關。若要計算 AAE，績效詳情會將查詢的總執行時間除以時間間隔。下表顯示上表中同一個查詢的 AAE 計算。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

在大多數情況下，查詢的 AAS 和 AAE 大致相同。不過，由於計算的輸入是不同的資料來源，所以計算通常會略有不同。

## 維度
<a name="USER_PerfInsights.Overview.ActiveSessions.dimensions"></a>

`db.load` 指標與其他時間序列指標不同，因為您可以將它分為名為維度的子元件。您可以將維度視為 `DBLoad` 指標不同特性的「配量依據」類別。

診斷效能問題時，下列維度通常最實用：

**Topics**
+ [等待事件](#USER_PerfInsights.Overview.ActiveSessions.waits)
+ [最高 SQL](#USER_PerfInsights.Overview.ActiveSessions.top-sql)
+ [計畫](#USER_PerfInsights.Overview.ActiveSessions.plans)

如需 Amazon RDS 引擎的維度完整清單，請參閱 [資料庫負載依維度配量](USER_PerfInsights.UsingDashboard.Components.md#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.dims)。

### 等待事件
<a name="USER_PerfInsights.Overview.ActiveSessions.waits"></a>

*等待事件*會導致 SQL 陳述式等待特定事件發生後，才能繼續執行。等待事件指出工作在何處受阻，是資料庫負載的重要維度或類別。

每個使用中的工作階段都在 CPU 上執行或等待中。例如，工作階段在記憶體中搜尋緩衝區、執行計算或執行程序程式碼時會耗用 CPU。當工作階段不耗用 CPU 時，可能是在等待記憶體緩衝區變成可用、要讀取的資料檔或要寫入的記錄檔。工作階段等待資源越久，在 CPU 上執行的時間就越短。

調校資料庫時，您通常會嘗試查明工作階段正在等待的資源。例如，兩個或三個等待事件可能佔資料庫負載的 90%。此量值表示作用中工作階段平均花最多時間等待少量資源。如果您可以找出這些等待的原因，就可以嘗試解決方案。

等待事件依據資料庫引擎而有所差異：
+ 如需關於所有 MariaDB 和 MySQL 等待事件的資訊，請參閱 MySQL 文件中的[等待事件摘要表格](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-summary-tables.html)。
+ 如需關於所有 PostgreSQL 等待事件的資訊，請參閱 PostgreSQL 文件中的[統計數字收集器 > 等待事件表](https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE)。
+ 如需關於所有 Oracle 等待事件的資訊，請參閱 Oracle 文件中的[等待事件說明](https://docs.oracle.com/database/121/REFRN/GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2.htm#REFRN-GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2)。
+ 如需所有 SQL Server 等待事件的相關資訊，請參閱 SQL 文件中的[等待類別](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-wait-stats-transact-sql?view=sql-server-2017#WaitTypes)。

**注意**  
對於 Oracle，背景程序有時不需要相關的 SQL 陳述式即可發揮作用。在這些情況下，「績效詳情」會報告背景程序的類型，後面加上冒號，還有與該背景程序相關聯的等待類別。背景程序的類型包括 `LGWR`、`ARC0`、`PMON` 等。  
例如，封存工具正在執行輸入/輸出時，績效詳情報告與 `ARC1:System I/O` 相當類似。有時候也會遺失背景程序類型，所以績效詳情只會報告等待類別，例如 `:System I/O`。

### 最高 SQL
<a name="USER_PerfInsights.Overview.ActiveSessions.top-sql"></a>

等待事件會顯示瓶頸，而最高 SQL 則顯示哪些查詢對資料庫負載造成最大影響。例如，許多查詢目前可能正在資料庫上執行，但單一查詢可能會耗用 99% 的資料庫負載。在此情況下，高負載可能表示查詢發生問題。

根據預設，績效詳情主控台會顯示造成資料庫負載的常用 SQL 查詢。主控台也會顯示每個陳述式的相關統計資料。若要診斷特定陳述式的效能問題，您可以檢查其執行計劃。

### 計畫
<a name="USER_PerfInsights.Overview.ActiveSessions.plans"></a>

*執行計畫*簡稱為*計畫*，是存取資料的一連串步驟。例如，聯結資料表 `t1` 和 `t2` 的計畫，可能會循環 `t1` 中的所有資料列，並將每一列與 `t2` 中的某列做比較。在關聯式資料庫中，內建程式碼*最佳化工具*可為 SQL 查詢最決定最有效的計畫。

針對資料庫執行個體，Performance Insights 會自動收集執行計畫。若要診斷 SQL 效能問題，請檢查擷取的計畫是否有耗用大量資源的 SQL 查詢。這些計畫顯示資料庫如何剖析和執行查詢。

若要了解如何使用計畫分析資料庫負載，請參閱：
+ Oracle: [使用 Amazon RDS 的 Performance Insights 儀表板來分析 Oracle 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ SQL Server：[使用 Amazon RDS 的 Performance Insights 儀表板來分析 SQL Server 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

#### 計畫擷取
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.capture"></a>

Performance Insights 每隔五分鐘會識別資源最密集的查詢並擷取其計畫。因此您不需要手動收集和管理大量的計畫。而是可以使用 **Top SQL** (最高 SQL) 索引標籤，將重點放在問題最大的查詢的計畫上。

**注意**  
若查詢的文字超過可收集的查詢文字上限，績效詳情就不會擷取其計畫。如需詳細資訊，請參閱 [在績效詳情儀表板中存取更多 SQL 文字](USER_PerfInsights.UsingDashboard.SQLTextSize.md)。

執行計畫的保留期間與所有 Performance Insights 資料的保留期間相同。保留設定為**預設值 (7 天)**。若要更長時間保留績效資料，請指定 1 - 24 個月。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。

#### 摘要查詢
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.digest"></a>

**Top SQL** (最高 SQL) 索引標籤預設顯示摘要查詢。摘要查詢本身沒有計畫，但使用文字值的所有查詢都具有計畫。例如，摘要查詢可能包含文字 `WHERE `email`=?`。摘要可能包含兩個查詢，其中一個具有文字 `WHERE email=user1@example.com`，另一個含有 `WHERE email=user2@example.com`。這些文字查詢全都可能包含多個計畫。

當您選取一個摘要查詢，主控台就會顯示所選摘要子陳述式的所有計畫。因此，您不需要查看所有的子陳述式來尋找計畫。您可能會看到前 10 個子陳述式清單中沒有顯示的計畫。主控台顯示已收集計畫的所有子查之計畫，無論這些查詢是否排入前 10 名。

# 最大 CPU
<a name="USER_PerfInsights.Overview.MaxCPU"></a>

在儀表板中，**資料庫負載**圖表會收集、彙整並顯示工作階段資訊。若要查看作用中的工作階段是否超過最大 CPU，請查看它與**最大 vCPU 數**線的關係。Performance Insights 會依據資料庫執行個體的 vCPU (虛擬 CPU) 核心數目決定**最大 vCPU** 值。

一次只能在 vCPU 上執行一個程序。如果程序數目超過 vCPU 數目，則程序會開始排入佇列。佇列增加時，資料庫效能會降低。若資料庫負載通常高於**最大 vCPU 數**線，而主要等待狀態為 CPU，則 CPU 會超過負載。在此狀況下，您可能會想要節制與執行個體間的連線、以高 CPU 負載來微調任何 SQL 查詢、或者考慮使用較大的執行個體類別。處於任何等待狀態的密集且穩定的執行個體表示可能有您應解決的瓶頸或資源爭用問題。即使資料庫負載未超過**最大 vCPU 數**線，仍可能會有上述的問題。

# Performance Insights 的 Amazon RDS 資料庫引擎、區域和執行個體類別支援
<a name="USER_PerfInsights.Overview.Engines"></a>

**重要**  
 AWS 已宣布績效詳情的end-of-life：2026 年 6 月 30 日。在此日期之後，Amazon RDS 將不再支援 Performance Insights 主控台體驗、彈性保留期間 (1-24 個月) 及其相關定價。Performance Insights API 將繼續存在，不會有任何定價變更。Performance Insights API 的成本會顯示在您的 AWS 帳單中，其中包含 CloudWatch Database Insights 的成本。  
 我們建議您在 2026 年 6 月 30 日之前，使用已付費的績效詳情方案，將任何資料庫執行個體升級至資料庫詳情的進階模式。如需有關升級至 Database Insights 進階模式的資訊，請參閱 [開啟適用於 Amazon RDS 的 Database Insights 的進階模式](USER_DatabaseInsights.TurningOnAdvanced.md)。  
 如果您不採取任何動作，則使用 Performance Insights 的資料庫執行個體依預設會使用 Database Insights 的標準模式。使用 Database Insights 的標準模式時，您可能會失去超過 7 天的效能資料歷史記錄存取權，而且可能無法在 Amazon RDS 主控台中使用執行計劃和隨需分析功能。2026 年 6 月 30 日之後，只有進階模式的 Database Insights 將支援執行計畫和隨需分析。  
 透過 CloudWatch Database Insights，您可以監控資料庫機群的資料庫負載，以及大規模分析效能和進行疑難排解。如需 Database Insights 的詳細資訊，請參閱 [使用 CloudWatch Database Insights 監控 Amazon RDS 資料庫](USER_DatabaseInsights.md)。如需定價資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

下列資料表提供您可找到支援 Performance Insights 的 Amazon RDS 資料庫引擎。

**注意**  
如需 Amazon Aurora，請參閱*《Amazon Aurora 使用者指南》*中的[支援績效詳情的 Amazon Aurora 資料庫引擎](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.Engines.html)。


|  Amazon RDS 資料庫引擎  | 支援的引擎版本和區域 | 執行個體類別限制 | 
| --- | --- | --- | 
|  Amazon RDS for MariaDB  |  如需 Performance Insights 搭配 RDS for MariaDB 的版本和區域可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。  |  下列執行個體類別不支援績效詳情： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  | 
|  RDS for MySQL  |  如需 Performance Insights 搭配 RDS for MySQL 的版本和區域可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。  |  下列執行個體類別不支援績效詳情： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  | 
|  Amazon RDS for Microsoft SQL Server  |  如需 Performance Insights 搭配 RDS for SQL Server 的版本和區域可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。  |  N/A  | 
|  Amazon RDS for PostgreSQL  |  如需 Performance Insights 搭配 RDS for PostgreSQL 的版本和區域可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。  |  N/A  | 
|  Amazon RDS for Oracle  |  如需 Performance Insights 搭配 RDS for Oracle 的版本和區域可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。  |  N/A  | 

## Performance Insights 功能的 Amazon RDS 資料庫引擎、區域和執行個體類別支援
<a name="USER_PerfInsights.Overview.PIfeatureEngnRegSupport"></a>

下列資料表提供支援 Performance Insights 功能的 Amazon RDS 資料庫引擎。


| 功能 | [定價方案](https://aws.amazon.com/rds/performance-insights/pricing/) |  [支援的區域](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html#Concepts.RegionsAndAvailabilityZones.Regions)  |  [支援的資料庫引擎](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Concepts.DBInstance)  |  [支援的執行個體類別](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.Types)  | 
| --- | --- | --- | --- | --- | 
| [績效詳情的 SQL 統計數字](sql-statistics.md) | 全部 | 全部 |  全部  | 全部 | 
| [使用 Amazon RDS 的 Performance Insights 儀表板來分析 Oracle 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlans.md) | 全部 | 全部 |  RDS for Oracle  | 全部 | 
| [分析一段時間區間的資料庫效能](USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.md) | 僅限付費方案 |  全部  |  RDS for PostgreSQL  |  全部  | 
|  [檢視 Performance Insights 主動建議](USER_PerfInsights.InsightsRecommendationViewDetails.md) | 僅限付費方案 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  |  全部  | 全部  | 

# Performance Insights 的定價和資料保留
<a name="USER_PerfInsights.Overview.cost"></a>

根據預設，Performance Insights 包含每月 7 天的效能資料歷史記錄和 1 百萬次 API 要求。您也可以購買較長的保留期間。如需有關費用的資訊，請參閱 [Performance Insights 定價](https://aws.amazon.com/rds/performance-insights/pricing/)。

在 RDS 主控台中，您可以為 Performance Insights 資料選擇下列任一保留期間：
+ **預設值 (7 天)**
+ ***n* 月**，其中 ***n*** 是介於 1 - 24 之間的數字

![\[選擇 Performance Insights 資料的保留期間。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-retention-periods.png)


若要了解如何使用 AWS CLI 設定保留期間，請參閱 [開啟和關閉 Amazon RDS 的 Performance Insights](USER_PerfInsights.Enabling.md)。

**注意**  
停止已啟用 Performance Insights 的資料庫執行個體或多可用區域資料庫叢集不會影響資料保留。當資料庫執行個體或多可用區域資料庫叢集停止時，Performance Insights 不會收集任何資料。

# 開啟和關閉 Amazon RDS 的 Performance Insights
<a name="USER_PerfInsights.Enabling"></a>

**重要**  
 AWS 已宣布績效詳情的end-of-life：2026 年 6 月 30 日。在此日期之後，Amazon RDS 將不再支援 Performance Insights 主控台體驗、彈性保留期間 (1-24 個月) 及其相關定價。Performance Insights API 將繼續存在，不會有任何定價變更。Performance Insights API 的成本會顯示在您的 AWS 帳單中，其中包含 CloudWatch Database Insights 的成本。  
 我們建議您在 2026 年 6 月 30 日之前，使用已付費的績效詳情方案，將任何資料庫執行個體升級至資料庫詳情的進階模式。如需有關升級至 Database Insights 進階模式的資訊，請參閱 [開啟適用於 Amazon RDS 的 Database Insights 的進階模式](USER_DatabaseInsights.TurningOnAdvanced.md)。  
 如果您不採取任何動作，則使用 Performance Insights 的資料庫執行個體依預設會使用 Database Insights 的標準模式。使用 Database Insights 的標準模式時，您可能會失去超過 7 天的效能資料歷史記錄存取權，而且可能無法在 Amazon RDS 主控台中使用執行計畫和隨需分析功能。2026 年 6 月 30 日之後，只有進階模式的 Database Insights 將支援執行計畫和隨需分析。  
 透過 CloudWatch Database Insights，您可以監控資料庫機群的資料庫負載，以及大規模分析效能和進行疑難排解。如需 Database Insights 的詳細資訊，請參閱 [使用 CloudWatch Database Insights 監控 Amazon RDS 資料庫](USER_DatabaseInsights.md)。如需定價資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

您可在建立資料庫執行個體或多可用區域資料庫叢集時為其開啟 Performance Insights。如有需要，您可以稍後從主控台修改資料庫執行個體來將其關閉。開啟和關閉績效詳情不會造成停機、重新開機或容錯移轉。

**注意**  
效能結構描述為 Amazon RDS for MariaDB 或 MySQL 使用的選用效能工具。若您開啟或關閉「效能架構」，則需要重新開機。然而，如果您開啟或關閉績效詳情，則無需重新開機。如需詳細資訊，請參閱[Amazon RDS for MariaDB 或 MySQL 上 Performance Insights 的效能結構描述概觀](USER_PerfInsights.EnableMySQL.md)。

績效詳情代理程式會耗用資料庫主機上有限的 CPU 和記憶體。當資料庫負載過高時，代理程式會減少收集資料的頻率來限制效能影響。

------
#### [ Console ]

在主控台中，您可以在建立或修改資料庫執行個體時或多可用區域資料庫叢集時啟用或關閉 Performance Insights。

**在建立資料庫執行個體或多可用區域資料庫叢集時，開啟或關閉 Performance Insights**

建立新的資料庫執行個體或多可用區域資料庫叢集之後，Amazon RDS 預設會啟用 Performance Insights。若要關閉的 Performance Insights，請選擇**Database Insights – 標準**選項，然後取消選取**啟用 Performance Insights** 選項。

如需詳細資訊，請參閱下列主題。
+ 若要建立資料庫執行個體，請遵循 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md) 中關於資料庫引擎的指示。
+ 若要建立多可用區域資料庫叢集，請遵循 [為 Amazon RDS 建立多可用區域資料庫叢集](create-multi-az-db-cluster.md) 中的資料庫引擎指示。

下列螢幕擷取畫面顯示 **Performance Insights (績效詳情)** 區段。

![\[在使用主控台建立資料庫執行個體或多可用區域資料庫叢集期間啟用 Performance Insights\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_enabling.png)


若您選擇 **Enable Performance Insights (啟用績效詳情)**，會有下列選項：
+ **保留** (僅適用於 Database Insights 的標準模式) – 保留 Performance Insights 資料的時間長度。保留設定為**預設值 (7 天)**。若要更長時間保留績效資料，請指定 1 - 24 個月。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。
+ **AWS KMS key** – 指定您的 AWS KMS key。績效詳情使用您的 KMS 金鑰來加密所有可能的敏感資料。將會對傳輸中與靜態資料進行加密。如需詳細資訊，請參閱[變更績效詳情 AWS KMS 的政策](USER_PerfInsights.access-control.cmk-policy.md)。

**在修改資料庫執行個體或多可用區域資料庫叢集時，開啟或關閉 Performance Insights**

在主控台中，您可以修改資料庫執行個體或多可用區域資料庫叢集，以管理 Performance Insights。

**使用主控台為資料庫執行個體或多可用區域資料庫叢集管理 Performance Insights**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 開啟 Amazon RDS 主控台。

1. 選擇 **Databases** (資料庫)。

1. 選擇資料庫執行個體或多可用區域資料庫叢集，然後選擇**修改**。

1. 若要開啟 Performance Insights，請選取**啟用 Performance Insights**。若要關閉的 Performance Insights，請選擇**Database Insights – 標準**選項，然後取消選取**啟用 Performance Insights** 選項。

   若您選擇 **Enable Performance Insights (啟用績效詳情)**，會有下列選項：
   + **保留** (僅適用於 Database Insights 的標準模式) – 保留 Performance Insights 資料的時間長度。保留設定為**預設值 (7 天)**。若要更長時間保留績效資料，請指定 1 - 24 個月。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。
   + **AWS KMS key** – 指定您的 KMS 金鑰。績效詳情使用您的 KMS 金鑰來加密所有可能的敏感資料。將會對傳輸中與靜態資料進行加密。如需詳細資訊，請參閱[加密 Amazon RDS 資源](Overview.Encryption.md)。

1. 選擇 **Continue** (繼續)。

1. 在 **Scheduling of Modifications** (修改排程) 中，選擇 Apply immediately (立即套用)。如果您選擇 Apply during the next scheduled maintenance window (在下一個排定的維護時段套用)，則執行個體會忽略此設定，並立即開啟 Performance Insights。

1. 選擇 **Modify instance (修改執行個體)**。

------
#### [ AWS CLI ]

當您使用 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI 命令時，請指定 `--enable-performance-insights`並`--database-insights-mode`設定為 `advanced`或 以開啟績效詳情`standard`。若要關閉 Performance Insights，請指定 `--no-enable-performance-insights` 並將 `database-insights-mode` 設定為 `standard`。

您也可以使用下列 AWS CLI 命令來指定這些值：
+  [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) 
+  [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) 
+  [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) 
+  [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 
+  [restore-db-instance-from-s3](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html) 

當您開啟績效詳情時，可選擇使用 `--performance-insights-retention-period` 選項指定保留績效詳情資料的天數。您可指定為 `7`、*月* \$1 31 (其中*月*是指 1 - 23) 的數字，或 `731`。例如，如果您想要保留效能資料 3 個月，請指定 `93`，也就是 3 個 \$1 31。預設值是 `7` 天。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。

下列範例會開啟 `sample-db-cluster` 的 Performance Insights，並指定 Performance Insights 資料保留 93 天 (3 個月)。

針對 Linux、macOS 或 Unix：

```
aws rds modify-db-cluster \
	--database-insights-mode standard \
    --db-cluster-identifier sample-db-instance \
    --enable-performance-insights \
    --performance-insights-retention-period 93
```

在 Windows 中：

```
aws rds modify-db-cluster ^
	--database-insights-mode standard ^
    --db-cluster-identifier sample-db-instance ^
    --enable-performance-insights ^
    --performance-insights-retention-period 93
```

如果您指定保留期間 (例如 94 天)，這不是有效值，RDS 就會發出錯誤。

```
An error occurred (InvalidParameterValue) when calling the CreateDBInstance operation: 
Invalid Performance Insights retention period. Valid values are: [7, 31, 62, 93, 124, 155, 186, 217, 
248, 279, 310, 341, 372, 403, 434, 465, 496, 527, 558, 589, 620, 651, 682, 713, 731]
```

**注意**  
您只能在 Performance Insights 不在叢集層級進行管理的資料庫叢集中，切換執行個體的 Performance Insights。

------
#### [ RDS API ]

當您使用 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 作業 Amazon RDS API 作業來建立新的資料庫執行個體時，請將 `EnablePerformanceInsights` 設為 `True` 以開啟績效詳情。若要關閉 Performance Insights，請將 `EnablePerformanceInsights` 設定為 `False`，以及將 `DatabaseInsightsMode` 設定為 `standard`。

您也可以使用下列 API 操作來指定 `EnablePerformanceInsights` 值：
+  [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) (多可用區域資料庫叢集) 
+  [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) (多可用區域資料庫叢集) 
+  [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 
+  [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 
+  [RestoreDBInstanceFromS3](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html) 

當您開啟 Performance Insights 時，可以使用 `PerformanceInsightsRetentionPeriod` 參數來選擇保留 Performance Insights 資料的時間 (以天數為單位)。您可指定為 `7`、*月* \$1 31 (其中*月*是指 1 - 23) 的數字，或 `731`。例如，如果您想要保留效能資料 3 個月，請指定 `93`，也就是 3 個 \$1 31。預設值是 `7` 天。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。

------

# Amazon RDS for MariaDB 或 MySQL 上 Performance Insights 的效能結構描述概觀
<a name="USER_PerfInsights.EnableMySQL"></a>

效能結構描述為選用功能，用來在詳細資料低層級監控 Amazon RDS for MariaDB 或 MySQL 執行時間效能。效能結構描述專為盡量降低對資料庫效能的影響所設計。您在有或無效能結構描述的狀況下皆可使用績效詳情。

**Topics**
+ [效能結構描述概觀](#USER_PerfInsights.EnableMySQL.overview)
+ [Performance Insights 和 Performance Schema](#USER_PerfInsights.effect-of-pfs)
+ [透過績效詳情自動管理效能結構描述](#USER_PerfInsights.EnableMySQL.options)
+ [重新開機對效能結構描述的影響](#USER_PerfInsights.EnableMySQL.reboot)
+ [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)
+ [在 Amazon RDS for MariaDB 或 MySQL 上開啟效能結構描述](USER_PerfInsights.EnableMySQL.RDS.md)

## 效能結構描述概觀
<a name="USER_PerfInsights.EnableMySQL.overview"></a>

效能結構描述會監控 MariaDB 及 MySQL資料庫 中的事件。*事件*是個佔用時間的資料庫伺服器動作，並經過分析，可收集計時資訊。事件的範例如下：
+ 函數呼叫
+ 等待作業系統
+ SQL 執行的階段
+ SQL 陳述式的群組

`PERFORMANCE_SCHEMA` 儲存引擎是一種用於實作效能結構描述功能的機制。此引擎會使用資料庫來源碼中的檢測來收集事件資料。引擎會將事件儲存於 `performance_schema` 資料庫的僅限記憶體表格中。您可查詢 `performance_schema`，就像您可以查詢任何其他表格一樣。如需 MySQL 效能結構描述的詳細資訊，請參閱 [MySQL 參考手冊](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html)中的 *MySQL 效能結構描述*。

## Performance Insights 和 Performance Schema
<a name="USER_PerfInsights.effect-of-pfs"></a>

績效詳情和效能結構描述是獨立的功能，但彼此互相連接。Performance Insights 對於 Amazon RDS for MariaDB 或 MySQL 的行為取決於 Performance Schema 是否開啟，如果是的話，Performance Insights 是否自動管理 Performance Schema。下表說明行為。


| Performance Schema 已開啟 | Performance Insights 管理模式 | Performance Insights 行為 | 
| --- | --- | --- | 
|  是  |  自動  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.EnableMySQL.html)  | 
|  是  |  手動  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.EnableMySQL.html)  | 
|  否  |  N/A  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_PerfInsights.EnableMySQL.html)  | 

## 透過績效詳情自動管理效能結構描述
<a name="USER_PerfInsights.EnableMySQL.options"></a>

當您在開啟績效詳情的狀況下建立 Amazon RDS for MariaDB 或 MySQL 資料庫執行個體時，也會開啟效能結構描述。在此狀況下，績效詳情會自動管理您的效能結構描述參數。這是建議的組態。

當 Performance Insights 自動管理效能結構描述時，`performance_schema` 的**來源**為 `System default`。

**注意**  
t4g.medium 執行個體類別不支援效能結構描述的自動管理。

若您手動變更 `performance_schema` 參數，但稍後想變更為自動管理，請參閱[在 Amazon RDS for MariaDB 或 MySQL 上開啟效能結構描述](USER_PerfInsights.EnableMySQL.RDS.md)。

**重要**  
當績效詳情開啟效能結構描述時，其不會變更參數群組值。不過，這些值會在執行的資料庫執行個體上進行變更。查看變更值的唯一方法是執行 `SHOW GLOBAL VARIABLES` 命令。

## 重新開機對效能結構描述的影響
<a name="USER_PerfInsights.EnableMySQL.reboot"></a>

績效詳情和效能結構描述在資料庫執行個體重新開機的要求方面有所不同：

**效能結構描述**  
若要開啟或關閉此功能，您必須重新開機資料庫執行個體。

**Performance Insights**  
若要開啟或關閉此功能，不需要重新開機資料庫執行個體。

如果效能結構描述目前未開啟，並且您在未重新開機資料庫執行個體的情況下開啟績效詳情，則不會開啟效能結構描述。

# 決定績效詳情是否管理效能結構描述
<a name="USER_PerfInsights.EnableMySQL.determining-status"></a>

若要了解 Performance Insights 目前是否正在管理所有受支援主要引擎版本的效能結構描述，請查看下表。


| performance\$1schema 參數的設定 | 來源欄的設定 | 績效詳情管理效能結構描述 | 
| --- | --- | --- | 
| 0 | System default | 是 | 
| 0 或 1 | Modified | 否 | 

在下列程序中，您會判斷 Performance Insights 是否自動管理效能結構描述。

**若要判斷績效詳情是否自動管理效能結構描述**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 選擇 **Parameter groups (參數群組)**。

1. 選擇資料庫執行個體的參數群組名稱。

1. 在搜尋列中，輸入 **performance\$1schema**。

1. 檢查**來源**是否為系統預設值，而**值**是否為 **0**。若是如此，績效詳情正在自動管理效能結構描述。

   在這裡顯示的範例中，Performance Insights 並未自動管理效能結構描述。  
![\[顯示 performance_schema 參數的設定已修改。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_schema_user.png)

# 在 Amazon RDS for MariaDB 或 MySQL 上開啟效能結構描述
<a name="USER_PerfInsights.EnableMySQL.RDS"></a>

假設您的資料庫執行個體或多可用區域資料庫叢集的績效詳情已啟用，但目前並未管理效能結構描述。如果要允許績效詳情自動管理效能結構描述，請完成以下步驟。

**設定效能結構描述為自動管理**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 選擇 **Parameter groups (參數群組)**。

1. 選擇資料庫執行個體或多可用區域資料庫叢集的參數群組名稱。

1. 選擇**編輯**。

1. 在搜尋列中，輸入 **performance\$1schema**。

1. 選取 `performance_schema` 參數。

1. 選擇**設定為預設值**。

1. 選擇**將值設定為預設值**來確認。

1. 選擇 **Save Changes** (儲存變更)。

1. 重新啟動資料庫執行個體或多可用區域資料庫叢集。
**重要**  
每當您開啟或關閉效能結構描述時，請務必重新開機資料庫執行個體或多可用區域資料庫叢集。

如需修改執行個體參數的相關資訊，請參閱 [修改 Amazon RDS 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。如需儀表板中的詳細資訊，請參閱[使用績效詳情儀表板來分析指標](USER_PerfInsights.UsingDashboard.md)。如需 MySQL 效能結構描述的詳細資訊，請參閱 MySQL 文件中的 [MySQL 效能結構描述](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html) (適用於 8.0) 和 [MySQL 效能結構描述](https://dev.mysql.com/doc/refman/8.4/en/performance-schema.html) (適用於 8.4)。

# 設定績效詳情的存取政策
<a name="USER_PerfInsights.access-control"></a>

若要存取績效詳情，委託人必須具有來自 AWS Identity and Access Management (IAM) 的適當許可。

**注意**  
若要搭配客戶受管金鑰使用績效詳情，請授予使用者 AWS AWS KMS 金鑰的 `kms:Decrypt`和 `kms:GenerateDataKey`許可。

使用以下方法存取績效詳情：
+ [連接 `AmazonRDSPerformanceInsightsReadOnly` 受管政策以進行唯讀存取](USER_PerfInsights.access-control.managed-policy.md)
+ [連接`AmazonRDSPerformanceInsightsFullAccess`受管政策以存取 Performance Insights API 的所有操作](USER_PerfInsights.access-control.FullAccess-managed-policy.md)
+ [建立具有特定許可的自訂 IAM 政策](USER_PerfInsights.access-control.custom-policy.md)
+ [設定加密績效詳情資料的 AWS KMS 許可](USER_PerfInsights.access-control.cmk-policy.md)
+ [使用資源層級許可設定精細存取](USER_PerfInsights.access-control.dimensionAccess-policy.md)
+ [使用標籤型存取控制，透過資源標籤管理許可](USER_PerfInsights.access-control.tag-based-policy.md)

# 將 AmazonRDSPerformanceInsightsReadOnly 政策連接至 IAM 主體
<a name="USER_PerfInsights.access-control.managed-policy"></a>

`AmazonRDSPerformanceInsightsReadOnly` 是一種 AWS 受管政策，可授予 Amazon RDS Performance Insights API 所有唯讀操作的存取權。

如果您連接到`AmazonRDSPerformanceInsightsReadOnly`許可集或角色，您還必須連接下列 CloudWatch 許可：
+ `GetMetricStatistics`
+ `ListMetrics`
+ `GetMetricData`

透過這些許可，收件人可以使用績效詳情搭配其他主控台功能。

 如需 CloudWatch 許可的詳細資訊，請參閱 [Amazon CloudWatch 許可參考](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)。

如需有關 `AmazonRDSPerformanceInsightsReadOnly` 的詳細資訊，請參閱 [AWS 受管政策：AmazonRDSPerformanceInsightsReadOnly](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsReadOnly)。

# 將 AmazonRDSPerformanceInsightsFullAccess 政策連接至 IAM 主體
<a name="USER_PerfInsights.access-control.FullAccess-managed-policy"></a>

`AmazonRDSPerformanceInsightsFullAccess` 是一種 AWS 受管政策，可授予 Amazon RDS Performance Insights API 所有操作的存取權。

如果您連接到`AmazonRDSPerformanceInsightsFullAccess`許可集或角色，您還必須連接下列 CloudWatch 許可：
+ `GetMetricStatistics`
+ `ListMetrics`
+ `GetMetricData`

透過這些許可，收件人可以使用績效詳情搭配其他主控台功能。

 如需 CloudWatch 許可的詳細資訊，請參閱 [Amazon CloudWatch 許可參考](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)。

如需有關 `AmazonRDSPerformanceInsightsFullAccess` 的詳細資訊，請參閱 [AWS 受管政策：AmazonRDSPerformanceInsightsFullAccess](rds-security-iam-awsmanpol.md#rds-security-iam-awsmanpol-AmazonRDSPerformanceInsightsFullAccess)。

# 建立績效詳情的自訂 IAM 政策
<a name="USER_PerfInsights.access-control.custom-policy"></a>

對於沒有 `AmazonRDSPerformanceInsightsReadOnly` 或 `AmazonRDSPerformanceInsightsFullAccess` 政策提供的使用者，您可以建立或修改由使用者管理的 IAM 政策來授予 Performance Insights 的存取權。在將該政策連接至許可集或角色時，收件人可以使用績效詳情。

**建立自訂政策**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 選擇 **Create policy** (建立政策)。

1. 在**建立政策**頁面上，選擇 **JSON** 選項。

1. 針對 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsReadOnly.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsReadOnly.html) 或 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSPerformanceInsightsFullAccess.html) 政策，複製並貼上在《AWS 受管政策參考指南》** 中的 *JSON 政策文件*區段中提供的文字。

1. 選擇 **Review policy** (檢閱政策)。

1. 為政策提供名稱並選擇性輸入描述，然後選擇 **Create policy (建立政策)**。

現在您可以將政策連接到許可集或角色。以下程序假設您已有基於此用途使用的使用者。

**將政策連接至使用者**

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇 **Users** (使用者)。

1. 從清單中選擇現有的使用者。
**重要**  
若要使用績效詳情，除了自訂政策以外，請務必確認您還擁有存取 Amazon RDS 的權限。例如，`AmazonRDSPerformanceInsightsReadOnly` 預先定義政策提供對 Amazon RDS 的唯讀存取。如需更多詳細資訊，請參閱 [使用政策管理存取權](UsingWithRDS.IAM.md#security_iam_access-manage)。

1. 在 **Summary** (摘要) 頁面上，選擇 **Add permissions** (新增許可)。

1. 選擇 **Attach existing policies directly** (直接連接現有政策)。對於**搜尋**，請輸入政策名稱的前幾個字母，如下圖所示。  
![\[選擇一個政策\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_attach_iam_policy.png)

1. 選擇您的政策，然後選擇 **Next: Review (下一步：檢閱)**。

1. 選擇 **Add permissions** (新增許可)。

# 變更績效詳情 AWS KMS 的政策
<a name="USER_PerfInsights.access-control.cmk-policy"></a>

Performance Insights 使用 AWS KMS key 來加密敏感資料。當您透過 API 或主控台啟用績效詳情時，可以執行下列任一操作：
+ 選擇預設值 AWS 受管金鑰。

  Amazon RDS 會將 AWS 受管金鑰 用於您的新資料庫執行個體。Amazon RDS 會為您的 AWS 帳戶建立 AWS 受管金鑰 。每個 AWS 受管金鑰 的 Amazon RDS AWS 帳戶 都有不同的 AWS 區域。
+ 選擇客戶受管金鑰。

  如果您指定客戶受管金鑰，則您帳戶中呼叫績效詳情 API 的使用者需要 KMS 金鑰的 `kms:Decrypt` 和 `kms:GenerateDataKey` 許可。您可以透過 IAM 政策設定這些許可。不過，我們建議您透過 KMS 金鑰政策來管理這些許可。如需詳細資訊，請參閱*《AWS Key Management Service 開發人員指南》*中的[在 AWS KMS中使用金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

**Example**  
下列範例說明如何將陳述式新增至 KMS 金鑰政策。這些陳述式允許存取績效詳情。視您使用 KMS 金鑰的方式而定，您可能想要變更某些限制。在將陳述式新增至您的政策之前，請先移除所有註解。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id" : "your-policy",
    "Statement" : [ 
        {
            "Sid" : "AllowViewingRDSPerformanceInsights",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::444455556666:role/Role1"
                ]
                },
             "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
                ],
            "Resource": "*",
            "Condition" : {
            "StringEquals" : {
                "kms:ViaService" : "rds.us-east-1.amazonaws.com"
                },
            "ForAnyValue:StringEquals": {
                "kms:EncryptionContext:aws:pi:service": "rds",
                "kms:EncryptionContext:service": "pi",
                "kms:EncryptionContext:aws:rds:db-id": "db-AAAAABBBBBCCCCDDDDDEEEEE"
                }
            }
        }
    ]
}
```

## Performance Insights 如何使用 AWS KMS 客戶受管金鑰
<a name="USER_PerfInsights.access-control.PI-using-KMS-cmk-policy"></a>

Performance Insights 使用客戶壽館金鑰來加密敏感資料。當您開啟 Performance Insights 時，可以透過 API 提供 AWS KMS 金鑰。Performance Insights 會建立此金鑰的 AWS KMS 許可。它會使用金鑰並執行必要的操作來處理敏感資料。敏感資料包括使用者、資料庫、應用程式及 SQL 查詢文字等欄位。Performance Insights 可確保靜態資料和傳輸中資料保持加密狀態。

## Performance Insights IAM 如何使用 AWS KMS
<a name="USER_PerfInsights.access-control.PI-work-with-kms"></a>

IAM 會提供許可給特定 API。Performance Insights 具有下列公有 API，您可以使用 IAM 政策來限制這些 API：
+ `DescribeDimensionKeys`
+ `GetDimensionKeyDetails`
+ `GetResourceMetadata`
+ `GetResourceMetrics`
+ `ListAvailableResourceDimensions`
+ `ListAvailableResourceMetrics`

您可以使用下列 API 請求來取得敏感資料。
+ `DescribeDimensionKeys`
+ `GetDimensionKeyDetails`
+ `GetResourceMetrics`

當您使用 API 取得敏感資料時，Performance Insights 會利用呼叫者的憑證。此檢查可確保敏感資料的存取權限於可存取 KMS 金鑰的人。

呼叫這些 APIs時，您需要透過 IAM 政策呼叫 API 的許可，以及透過 AWS KMS 金鑰政策叫用`kms:decrypt`動作的許可。

`GetResourceMetrics` API 可能會同時傳回敏感和非敏感資料。請求參數會決定回應是否應包含敏感資料。當請求的 filter 或 group-by 參數中包含敏感維度時，API 會傳回敏感資料。

如需有關可搭配 `GetResourceMetrics` API 使用之維度的詳細資訊，請參閱 [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)。

**Example 範例**  
以下範例會請求 `db.user` 群組的敏感資料：  

```
POST / HTTP/1.1
Host: <Hostname>
Accept-Encoding: identity
X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics
Content-Type: application/x-amz-json-1.1
User-Agent: <UserAgentString>
X-Amz-Date: <Date> 
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>
{
  "ServiceType": "RDS",
  "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
  "MetricQueries": [
    {
      "Metric": "db.load.avg",
      "GroupBy": {
        "Group": "db.user",
        "Limit": 2
      }
    }
  ],
  "StartTime": 1693872000,
  "EndTime": 1694044800,
  "PeriodInSeconds": 86400
}
```

**Example**  
以下範例會請求 `db.load.avg` 指標的非敏感資料：  

```
POST / HTTP/1.1
Host: <Hostname>
Accept-Encoding: identity
X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics
Content-Type: application/x-amz-json-1.1
User-Agent: <UserAgentString>
X-Amz-Date: <Date> 
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>
{
    "ServiceType": "RDS",
    "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
    "MetricQueries": [
        {
            "Metric": "db.load.avg"
        }
    ],
    "StartTime": 1693872000,
    "EndTime": 1694044800,
    "PeriodInSeconds": 86400
}
```

# 授予 Performance Insights 的精細存取
<a name="USER_PerfInsights.access-control.dimensionAccess-policy"></a>

精細存取控制可提供額外的方式，讓您控制對您 Performance Insights 的存取。此存取控制可以允許或拒絕存取 `GetResourceMetrics`、`DescribeDimensionKeys` 和 `GetDimensionKeyDetails` Performance Insights 動作的個別維度。若要使用精細存取，請使用條件索引鍵在 IAM 政策中指定維度。存取的評估遵循 IAM 政策評估邏輯。如需詳細資訊，請參閱 * IAM User Guide* 中的 [Policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。如果 IAM 政策陳述式未指定任何維度，則陳述式會控制對指定動作之所有維度的存取。如需可用維度的清單，請參閱 [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)。

若要了解您的憑證獲授權可存取的維度，請使用 `ListAvailableResourceDimensions` 中的 `AuthorizedActions` 參數並指定動作。`AuthorizedActions` 的允許值如下所示：
+ `GetResourceMetrics`
+ `DescribeDimensionKeys`
+ `GetDimensionKeyDetails`

例如，如果您將 `GetResourceMetrics` 指定為 `AuthorizedActions` 參數，則 `ListAvailableResourceDimensions` 會傳回 `GetResourceMetrics` 動作獲授權可存取的維度清單。如果您在 `AuthorizedActions` 參數中指定多個動作，則 `ListAvailableResourceDimensions` 會傳回這些動作獲授權可存取的維度交集。

**Example**  
下列範例提供 `GetResourceMetrics` 和 `DescribeDimensionKeys` 動作指定維度的存取權。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowToDiscoverDimensions",
            "Effect": "Allow",
            "Action": [
                "pi:ListAvailableResourceDimensions"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ]
        },
        {
            "Sid": "SingleAllow",
            "Effect": "Allow",
            "Action": [
                "pi:GetResourceMetrics",
                "pi:DescribeDimensionKeys"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "pi:Dimensions": [
                        "db.sql_tokenized.id",
                        "db.sql_tokenized.statement"
                    ]
                }
            }
        }
        

    ]
}
```
以下是所請求維度的回應：  

```
	// ListAvailableResourceDimensions API
// Request
{
    "ServiceType": "RDS",
    "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
    "Metrics": [ "db.load" ],
    "AuthorizedActions": ["DescribeDimensionKeys"]
}

// Response
{    
    "MetricDimensions": [ {
        "Metric": "db.load",
        "Groups": [
            {
                "Group": "db.sql_tokenized",
                "Dimensions": [
                    { "Identifier": "db.sql_tokenized.id" },
                  //  { "Identifier": "db.sql_tokenized.db_id" }, // not included because not allows in the IAM Policy
                    { "Identifier": "db.sql_tokenized.statement" }
                ] 
            }
            
        ] }
    ]
}
```
下列範例會指定維度的一個允許和兩個拒絕存取。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
          {
            "Sid": "AllowToDiscoverDimensions",
            "Effect": "Allow",
            "Action": [
                "pi:ListAvailableResourceDimensions"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ]
          },

          {
            "Sid": "O01AllowAllWithoutSpecifyingDimensions",
            "Effect": "Allow",
            "Action": [
                "pi:GetResourceMetrics",
                "pi:DescribeDimensionKeys"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ]
        },
        
        {
            "Sid": "O01DenyAppDimensionForAll",
            "Effect": "Deny",
            "Action": [
                "pi:GetResourceMetrics",
                "pi:DescribeDimensionKeys"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "pi:Dimensions": [
                        "db.application.name"
                    ]
                }
            }
        },
        
        {
            "Sid": "O01DenySQLForGetResourceMetrics",
            "Effect": "Deny",
            "Action": [
                "pi:GetResourceMetrics"
            ],
            "Resource": [
                "arn:aws:pi:us-east-1:123456789012:metrics/rds/db-ABC1DEFGHIJKL2MNOPQRSTUV3W"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "pi:Dimensions": [
                        "db.sql_tokenized.statement"
                    ]
                }
            }
        }
    ]
}
```
以下是所請求維度的回應：  

```
			// ListAvailableResourceDimensions API
// Request
{
    "ServiceType": "RDS",
    "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
    "Metrics": [ "db.load" ],
    "AuthorizedActions": ["GetResourceMetrics"]
}

// Response
{    
    "MetricDimensions": [ {
        "Metric": "db.load",
        "Groups": [
            {
                "Group": "db.application",
                "Dimensions": [
                
                  // removed from response because denied by the IAM Policy
                  //  { "Identifier": "db.application.name" }  
                ]
            },
            {
                "Group": "db.sql_tokenized",
                "Dimensions": [
                    { "Identifier": "db.sql_tokenized.id" },
                    { "Identifier": "db.sql_tokenized.db_id" },
                    
                  // removed from response because denied by the IAM Policy
                  //  { "Identifier": "db.sql_tokenized.statement" }
                ] 
            },
            ...
        ] }
    ]
}
```

```
// ListAvailableResourceDimensions API
// Request
{
    "ServiceType": "RDS",
    "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
    "Metrics": [ "db.load" ],
    "AuthorizedActions": ["DescribeDimensionKeys"]
}

// Response
{    
    "MetricDimensions": [ {
        "Metric": "db.load",
        "Groups": [
            {
                "Group": "db.application",
                "Dimensions": [
                  // removed from response because denied by the IAM Policy
                  //  { "Identifier": "db.application.name" }  
                ]
            },
            {
                "Group": "db.sql_tokenized",
                "Dimensions": [
                    { "Identifier": "db.sql_tokenized.id" },
                    { "Identifier": "db.sql_tokenized.db_id" },
                    
                  // allowed for DescribeDimensionKeys because our IAM Policy 
                  // denies it only for GetResourceMetrics
                    { "Identifier": "db.sql_tokenized.statement" }
                ] 
            },
            ...
        ] }
    ]
}
```

# 使用績效詳情的標籤型存取控制
<a name="USER_PerfInsights.access-control.tag-based-policy"></a>

您可以使用從父資料庫執行個體繼承的標籤來控制對績效詳情指標的存取。若要控制對績效詳情操作的存取，請使用 IAM 政策。這些政策可以檢查資料庫執行個體上的標籤，以判斷許可。

## 標籤如何與績效詳情搭配使用
<a name="USER_PerfInsights.access-control.tag-inheritance"></a>

Performance Insights 會自動套用資料庫執行個體標籤，以授權 Performance Insights 指標。當您將標籤新增至資料庫執行個體時，您可以立即使用這些標籤來控制對 Performance Insights 資料的存取。
+ 若要新增或更新績效詳情指標的標籤，請修改資料庫執行個體上的標籤。
+ 若要檢視績效詳情指標的標籤，請在績效詳情指標資源`ListTagsForResource`上呼叫 。它會從與指標相關聯的資料庫執行個體傳回標籤。

**注意**  
如果您嘗試直接在績效詳情指標上使用它們， `TagResource`和 `UntagResource`操作會傳回錯誤。

## 建立標籤型 IAM 政策
<a name="USER_PerfInsights.access-control.tag-based-policies"></a>

若要控制對 Performance Insights 操作的存取，請在 IAM 政策中使用 `aws:ResourceTag`條件索引鍵。這些政策會檢查yourDB執行個體上的標籤。

**Example**  
此政策可防止存取生產資料庫的績效詳情指標。此政策會針對任何以 標記的資料庫資源，拒絕 Performance Insights 中的 `pi:GetResourceMetrics`操作`env:prod`。  

```
 {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "pi:GetResourceMetrics",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/env": "prod"
                }
            }
        }
    ]
}
```

# 使用績效詳情儀表板來分析指標
<a name="USER_PerfInsights.UsingDashboard"></a>

**重要**  
 AWS 已宣布績效詳情的end-of-life：2026 年 6 月 30 日。在此日期之後，Amazon RDS 將不再支援 Performance Insights 主控台體驗、彈性保留期間 (1-24 個月) 及其相關定價。Performance Insights API 將繼續存在，不會有任何定價變更。Performance Insights API 的成本會顯示在您的 AWS 帳單中，其中包含 CloudWatch Database Insights 的成本。  
 我們建議您在 2026 年 6 月 30 日之前，使用已付費的績效詳情方案，將任何資料庫執行個體升級至資料庫詳情的進階模式。如需有關升級至 Database Insights 進階模式的資訊，請參閱 [開啟適用於 Amazon RDS 的 Database Insights 的進階模式](USER_DatabaseInsights.TurningOnAdvanced.md)。  
 如果您不採取任何動作，則使用 Performance Insights 的資料庫執行個體依預設會使用 Database Insights 的標準模式。使用 Database Insights 的標準模式時，您可能會失去超過 7 天的效能資料歷史記錄存取權，而且可能無法在 Amazon RDS 主控台中使用執行計畫和隨需分析功能。2026 年 6 月 30 日之後，只有進階模式的 Database Insights 將支援執行計畫和隨需分析。  
 透過 CloudWatch Database Insights，您可以監控資料庫機群的資料庫負載，以及大規模分析效能和進行疑難排解。如需 Database Insights 的詳細資訊，請參閱 [使用 CloudWatch Database Insights 監控 Amazon RDS 資料庫](USER_DatabaseInsights.md)。如需定價資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

績效詳情儀表板包含資料庫效能資訊，可協助您分析效能問題並對其進行故障排除。在主要儀表板頁面上，您可以檢視關於資料庫負載的資訊。您可以依據等待事件或 SQL 等維度「配量」資料庫負載。

**Topics**
+ [績效詳情儀表板概觀](USER_PerfInsights.UsingDashboard.Components.md)
+ [存取績效詳情儀表板](USER_PerfInsights.UsingDashboard.Opening.md)
+ [按等待事件分析資料庫負載](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.md)
+ [分析一段時間區間的資料庫效能](USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.md)
+ [使用 Performance Insights 中的最高 SQL 索引標籤分析查詢](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.md)
+ [分析最高 Oracle PDB 負載](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.TopPDB.md)
+ [使用 Amazon RDS 的 Performance Insights 儀表板來分析執行計畫](USER_PerfInsights.UsingDashboard.AnalyzingPlans.md)

# 績效詳情儀表板概觀
<a name="USER_PerfInsights.UsingDashboard.Components"></a>

儀表板是與績效詳情進行互動的最簡單方式。下列範例顯示 PostgreSQL 資料庫執行個體的儀表板。

![\[篩選指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_0b.png)


**Topics**
+ [時間範圍篩選](#USER_PerfInsights.UsingDashboard.Components.time-range)
+ [計數器指標圖表](#USER_PerfInsights.UsingDashboard.Components.Countermetrics)
+ [資料庫負載圖表](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions)
+ [最高維度表格](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable)

## 時間範圍篩選
<a name="USER_PerfInsights.UsingDashboard.Components.time-range"></a>

依預設，績效詳情儀表板會顯示過去一小時的資料庫負載。您可以將此範圍調整為短至 5 分鐘或長達 2 年。您也可以選取自訂相對範圍。

![\[績效詳情的相對時間\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-relative-time.png)


您可以選擇具有開始和結束日期時間的絕對範圍。以下範例顯示從 24/9/25 午夜開始到 24/9/28 晚上 11:59 結束的時間範圍。

![\[績效詳情的絕對時間\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-absolute-time.png)


根據預設，Performance Insights 儀表板的時區是國際標準時間 (UTC)。您也可以選擇當地時區。

![\[選取 Performance Insights 儀表板的當地時區\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-local-time-zone.png)


## 計數器指標圖表
<a name="USER_PerfInsights.UsingDashboard.Components.Countermetrics"></a>

您可以使用計數器指標來自訂績效詳情儀表板，以包含高達 10 個其它圖表。這些圖表顯示很多作業系統和資料庫效能指標。您可以將此資訊與資料庫負載相互關聯，以協助識別和分析效能問題。

 **Counter Metrics** (計數器指標) 圖表顯示效能計數器的資料。預設指標取決於資料庫引擎：
+ MySQL 和 MariaDB – `db.SQL.Innodb_rows_read.avg`
+ Oracle – `db.User.user calls.avg`
+ Microsoft SQL Server – `db.Databases.Active Transactions(_Total).avg`
+ PostgreSQL – `db.Transactions.xact_commit.avg`

![\[計數器指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/oracle_perf_insights_counters.png)


若要變更效能計數器，請選擇 **Manage Metrics** (管理指標)。您可以選取多個**作業系統指標**或**資料庫指標**，如下列螢幕擷取畫面所示。若要查看任何指標的詳細資訊，請將游標移到指標名稱上。

![\[篩選指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_select_metrics.png)


如需有關可為每個資料庫引擎新增之計數器指標的說明，請參閱 [Performance Insights 計數器指標](USER_PerfInsights_Counters.md)。

## 資料庫負載圖表
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions"></a>

**資料庫負載**圖表顯示資料庫活動與資料庫執行個體容量間的比較值，以**最大 vCPU 數**線表示。依預設，堆疊折線圖以每個時間單位的平均作用中工作階段數來表示資料庫負載。資料庫負載依等待狀態切割 (分組)。

![\[資料庫負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_2.png)


### 資料庫負載依維度配量
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.dims"></a>

您可以選擇將負載顯示為作用中工作階段 (依任何支援維度分組)。下表顯示不同引擎各自支援的維度。


| 維度 | Oracle | SQL Server | PostgreSQL | MySQL | 
| --- | --- | --- | --- | --- | 
|  主機  |  是  |  是  |  是  |  是  | 
|  SQL  |  是  |  是  |  是  |  是  | 
|  使用者  |  是  |  是  |  是  |  是  | 
|  等待  |  是  |  是  |  是  |  是  | 
|  計畫  |  是  |  否  |  否  |  否  | 
|  應用程式  |  否  |  否  |  是  |  否  | 
|  資料庫  |  否  |  否  |  是  |  是  | 
|  工作階段類型  |  否  |  否  |  是  |  否  | 

下圖顯示 PostgreSQL 資料庫執行個體的維度。

![\[篩選指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_2b.png)


### 維度項目的資料庫負載詳細資訊
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.item-details"></a>

若要查看有關維度內資料庫負載項目的詳細資訊，請將游標移到項目名稱上。下圖顯示 SQL 陳述式的詳細資訊。

![\[資料庫負載項目詳細資訊\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_2c.png)


若要以圖例查看在所選時段內任何項目的詳細資訊，請將游標移到該項目上。

![\[資料庫負載的時段詳細資訊\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_3.png)


## 最高維度表格
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable"></a>

最高維度表格依不同維度切割資料庫負載。維度是資料庫負載各種特性的類別或「配量依據」。如果維度是 SQL，**Top SQL** (最高 SQL) 會顯示在資料庫負載中佔最大比例的 SQL 陳述式。

![\[前 N 個維度\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_4c.png)


選擇下列任一維度索引標籤：


| Tab | Description | 支援的引擎 | 
| --- | --- | --- | 
|  最高 SQL  |  目前正在執行的 SQL 陳述式  |  全部  | 
|  最高等待  |  資料庫後端正在等待的事件  |  全部  | 
|  最高主機  |  連線用戶端的主機名稱  |  全部  | 
|  最高使用者  |  登入資料庫的使用者  |  全部  | 
|  最高資料庫  |  用戶端連線的資料庫名稱  |  僅限 PostgreSQL、MySQL、MariaDB 和 SQL Server  | 
|  最高應用程式  |  連線至資料庫的應用程式名稱  |  僅限 PostgreSQL 和 SQL Server  | 
|  最高工作階段類型  |  目前工作階段的類型  | 僅限 PostgreSQL | 

若要了解如何使用 **Top SQL** (最高 SQL) 索引標籤來分析查詢，請參閱 [最高 SQL 索引標籤概觀](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.md#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL)。

# 存取績效詳情儀表板
<a name="USER_PerfInsights.UsingDashboard.Opening"></a>

Amazon RDS 會在績效詳情儀表板中提供績效詳情和 CloudWatch 指標的合併檢視。

若要存取績效詳情儀表板，請使用下列程序。

**檢閱 AWS 管理主控台中的績效詳情儀表板**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 選擇資料庫執行個體。

   對於已開啟 Performance Insights 的資料庫執行個體，您也可以在資料庫執行個體清單中選擇**工作階段**項目，來存取 Performance Insights 儀表板。在 **Current activity (目前活動)** 中，**Sessions (工作階段)** 項目顯示了過去五分鐘內平均作用中工作階段的資料庫負載。負載以進度條圖形的方式顯示。當進度條為空時，代表資料庫執行個體閒置中。隨著負載增加，進度條會填入藍色。當負載超過資料庫執行個體類別上的虛擬 CPU (vCPU) 數量時，進度條會轉紅，指出可能遇到瓶頸。  
![\[篩選指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_0a.png)

1. (選用) 選擇右上角的日期和時間範圍，並指定不同的相對或絕對時間間隔。您現在可以指定時間區間，並產生資料庫績效分析報告。該報告提供識別出的洞見和建議。如需詳細資訊，請參閱 [在 Performance Insights 中建立效能分析報告](USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.md)。  
![\[依照時間間隔篩選指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_0c.png)

   在下列螢幕擷取畫面中，資料庫負載為間隔為 5 小時。  
![\[將時間間隔設定為 5 小時\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_1.png)

1. (選用) 若要放大一部分的資料庫負載圖表，請選擇開始時間並拖曳到您想要的時間範圍結束時間。

   所選區域將在資料庫負載圖表中突出顯示。  
![\[指定時間間隔內的資料庫負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_zoom_in.png)

   放開滑鼠時，資料庫負載圖表會在所選 AWS 區域上放大，而 **Top *dimensions* (最高維度)** 資料表則會重新計算。  
![\[放大選定的資料庫負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_zoom_in_b.png)

1. (選用) 若要自動重新整理資料，請選取**自動重新整理**。  
![\[設定自動重新整理\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_1b.png)

   績效詳情儀表板會自動以新資料進行重新整理。重新整理速度取決於顯示的資料量：
   + 5 分鐘的資料每 10 秒重新整理一次。
   + 1 小時的資料每 5 分鐘重新整理一次。
   + 5 小時的資料每 5 分鐘重新整理一次。
   + 24 小時的資料每 30 分鐘重新整理一次。
   + 1 週的資料每天重新整理一次。
   + 1 個月的資料每天重新整理一次。

# 按等待事件分析資料庫負載
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad"></a>

如果 **Database load** (資料庫負載) 圖表指出有瓶頸，您可以查明負載的來源。若要這麼做，請查看**資料庫負載**圖表下的最高負載項目表格。選擇特定項目，例如 SQL 查詢或使用者，來深入探討該項目並查看關於該項目的詳細資訊。

依等待和最高 SQL 查詢分組的資料庫負載是預設的績效詳情儀表板檢視。此組合通常可提供效能問題的最多見解。根據等待分組的資料庫負載顯示該資料庫中是否有任何資源或正在發生的瓶頸。在此情況下，最高負載項目表格的 **SQL** 標籤會顯示哪些查詢帶來這些負載量。

診斷效能問題的典型工作流程如下：

1. 檢閱**資料庫負載**圖表並查看是否有任何資料庫負載超越**最高 CPU** 線的情況。

1. 若有，請查看**資料庫負載**圖表，並找出哪一個或那幾個等待狀態是主因。

1. 利用檢視最高負載項目資料表上的 **SQL** 標籤之查詢對於那些等待狀態影響較大，藉此找出造成負載的摘要查詢。您可以根據**等待列出資料庫負載**欄來找出這些。

1. 選擇 **SQL** 標籤中的其中一個摘要查詢，展開並查看其中組成的子查詢。

例如，在下列儀表板中，**日誌檔案同步**等待佔了大部分的資料庫負載。**LGWR 所有工作者群組**等待也很高。**最高 SQL** 圖表顯示導致**日誌檔案同步**等待的原因：頻繁的 `COMMIT` 陳述式。在這種情況下，減少遞交頻率將能降低資料庫負載。

![\[日誌檔案同步錯誤\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_7.png)


# 分析一段時間區間的資料庫效能
<a name="USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod"></a>

透過建立時間期間的效能分析報告，使用隨需分析來分析資料庫效能。檢視效能分析報告以尋找效能問題，例如資料庫執行個體中查詢的資源瓶頸或變更。Performance Insights 儀表板可讓您選取時間段並建立績效分析報告。您也可以將一或多個標籤新增到報告。

若要使用此功能，您必須使用付費方案的保留期。如需詳細資訊，請參閱[Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)

該報告可在**績效分析報告 - 新**標籤中選取和檢視。該報告包含洞見、相關指標和解決效能問題的建議。您可以在 Performance Insights 保留期間內檢視報告。

如果報告分析期間的開始時間超過保留期，則會刪除報告。您也可以在保留期結束之前刪除報告。

若要偵測效能問題並產生資料庫執行個體的分析報告，您必須開啟 Performance Insights。如需開啟績效詳情的詳細資訊，請參閱 [開啟和關閉 Amazon RDS 的 Performance Insights](USER_PerfInsights.Enabling.md)。

如需此功能的區域、資料庫引擎和執行個體類別支援的資訊，請參閱 [Performance Insights 功能的 Amazon RDS 資料庫引擎、區域和執行個體類別支援](USER_PerfInsights.Overview.Engines.md#USER_PerfInsights.Overview.PIfeatureEngnRegSupport)

在下列各節中，您可以建立、檢視、新增標籤和刪除效能分析報告。

**Topics**
+ [在 Performance Insights 中建立效能分析報告](USER_PerfInsights.UsingDashboard.CreatingPerfAnlysisReport.md)
+ [在 Performance Insights 中檢視效能分析報告](USER_PerfInsights.UsingDashboard.ViewPerfAnalysisReport.md)
+ [在 Performance Insights 中將標籤新增至效能分析報告](USER_PerfInsights.UsingDashboard.ManagePerfAnalysisReportTags.md)
+ [在 Performance Insights 中刪除效能分析報告](USER_PerfInsights.UsingDashboard.DeletePerfAnalysisReport.md)

# 在 Performance Insights 中建立效能分析報告
<a name="USER_PerfInsights.UsingDashboard.CreatingPerfAnlysisReport"></a>

您可以在 Performance Insights 儀表板中針對特定區間建立績效分析報告。您可以選取時間區間，並將一或多個標籤新增至分析報告。

分析期間的範圍可以從 5 分鐘到 6 天不等。在分析開始時間之前，必須至少有 24 小時的效能資料。

如需此功能的區域、資料庫引擎和執行個體類別支援的資訊，請參閱 [Performance Insights 功能的 Amazon RDS 資料庫引擎、區域和執行個體類別支援](USER_PerfInsights.Overview.Engines.md#USER_PerfInsights.Overview.PIfeatureEngnRegSupport)

**若要建立一段時間區間的績效分析報告**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 選擇資料庫執行個體。

1. 在 Performance Insights 儀表板上的**資料庫負載**區段中選擇**分析效能**。

   設定要顯示的時間區間並新增一或多個標籤至績效分析報告的欄位。  
![\[Performance Insights 儀表板會顯示建立分析報告的欄位\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_CreateAnalysisReport.png)

1. 選擇時間區間。如果您在右上角的**相對範圍**或者**絕對範圍**內設定時間區間，您只能輸入或選取此時間區間內的報告日期和時間。如果您選取此時間區間以外的分析區間，則會顯示錯誤訊息。

    若要設定時間區間，您可以執行下列任一項操作：
   + 按下並拖曳資料庫負載圖表上的任何滑桿。

     該**績效分析區間**方塊會顯示所選的時段，而資料庫負載圖表會反白顯示所選取的時間區間。
   + 在**績效分析區間**方塊中選擇**開始日期**、**開始時間**、**結束日期**和**結束時間**。  
![\[已選取分析區間的 Performance Insights 儀表板\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_CreateAnalysisRep_TimePeriod.png)

1. (選用) 輸入**索引鍵**和**值 - *選用***，以新增報告的標籤。  
![\[使用欄位以新增 Performance Insights 儀表板標籤\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_CreateAnalysisRep_AddTag.png)

1. 選擇**分析效能**。

   橫幅會顯示報告產生成功或失敗的訊息。該訊息還會提供檢視報告的連結。

   下列範例顯示成功建立報告的訊息橫幅。  
![\[分析報告建立成功訊息橫幅\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_CreateAnaysisRep_SuccessMsg.png)

   該報告可以於**績效分析報告 - 新**標籤中檢視。

您可以使用 AWS CLI建立效能分析報告。如需如何使用 建立報告的範例 AWS CLI，請參閱 [建立一段時間區間的績效分析報告](USER_PerfInsights.API.Examples.md#USER_PerfInsights.API.Examples.CreatePerfAnalysisReport)。

# 在 Performance Insights 中檢視效能分析報告
<a name="USER_PerfInsights.UsingDashboard.ViewPerfAnalysisReport"></a>

該**績效分析報告 - 新**標籤會列出為資料庫執行個體建立的所有報告。為每個報告顯示以下內容：
+ **ID**：報告的唯一識別碼。
+ **名稱**：新增至報告的標籤索引鍵。
+ **報告建立時間**：您建立報告的時間。
+ **分析開始時間**：報告中分析的開始時間。
+ **分析結束時間**：報告中分析的結束時間。

**檢視績效分析報告**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 選擇您要檢視其分析報告的資料庫執行個體。

1. 在 Performance Insights 儀表板中向下捲動，並選擇**效能分析報告 - 新**索引標籤。

   會顯示不同時間區間的所有分析報告。

1. 選擇您要檢視報告的 **ID**。

   如果識別出多個洞見，資料庫負載圖表預設會顯示整個分析區間。如果報告識別出一個洞見，則資料庫負載圖表會依預設顯示洞見。

   儀表板也會列出報告**標籤**區段的標籤。

   下列範例顯示報告的整個分析區間。  
![\[顯示整個分析報告區間的資料庫負載圖表\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_EntireAnalysisRep.png)

1. 如果報告中識別出一個以上的洞見，請選擇**資料庫負載洞見**清單中您要檢視的洞見。

   儀表板會顯示洞見訊息、資料庫負載圖表會反白顯示洞見的時間區間、分析和建議，以及報告標籤的清單。

   下列範例會顯示報告中的資料庫負載洞見。  
![\[資料庫負載圖表會顯示報告中的洞見\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_AnalysisRepInsight_chart.png)  
![\[報告洞見分析和建議區段\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_AnalysisRepInsight_Recommendations.png)

# 在 Performance Insights 中將標籤新增至效能分析報告
<a name="USER_PerfInsights.UsingDashboard.ManagePerfAnalysisReportTags"></a>

您可以在建立或檢視報告時新增標籤。您最多可以為報告新增 50 個標籤。

您需要許可以新增標籤。如需 Performance Insights 存取政策的詳細資訊，請參閱 [設定績效詳情的存取政策](USER_PerfInsights.access-control.md)。

若要在建立報告時新增一個或多個標籤，請參閱程序 [在 Performance Insights 中建立效能分析報告](USER_PerfInsights.UsingDashboard.CreatingPerfAnlysisReport.md) 中的步驟 6。

**在檢視報告時新增一個或多個標籤**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 選擇資料庫執行個體。

   資料庫執行個體的績效詳情儀表板即會出現。

1. 向下捲動並選擇**績效分析報告 - 新**標籤。

1. 選擇您要新增標籤的報告。

   儀表板會顯示報告。

1. 向下捲動至**標籤**並選擇**管理標籤**。

1. 選擇 **Add new tag (新增標籤)**。

1. 輸入**索引鍵**和**值 - *選用***，然後選擇**新增標籤**。

   下列範例提供為所選報告新增標籤的選項。  
![\[管理標籤視窗以將新標籤新增至報告。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_AddTag_ManageTags.png)

   將為報告建立一個新標籤。

   報告的標籤清單會顯示在儀表板上的**標籤**區段。如果您要從報告中移除標籤，請選擇標籤旁邊的**移除**。

# 在 Performance Insights 中刪除效能分析報告
<a name="USER_PerfInsights.UsingDashboard.DeletePerfAnalysisReport"></a>

您可以從**績效分析報告**標籤所顯示的報告清單中刪除報告，或是檢視報告時刪除報告。

**刪除報告**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 選擇資料庫執行個體。

   資料庫執行個體的績效詳情儀表板即會出現。

1. 向下捲動並選擇**績效分析報告 - 新**標籤。

1. 選取您要刪除的報告，然後選擇右上角的**刪除**。  
![\[Performance Insights 儀表板上可選取要刪除的報告\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/PI_DeleteAnalysisRep.png)

   此時會顯示確認視窗。選擇確認後，即會刪除報告。

1. (選用) 選擇您要刪除報告的 **ID**。

   在報告頁面，選擇右上角的**刪除**。

   此時會顯示確認視窗。選擇確認後，即會刪除報告。

# 使用 Performance Insights 中的最高 SQL 索引標籤分析查詢
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics"></a>

在 Amazon RDS 績效詳情儀表板中，您可以在 **Top dimensions** (最高維度) 表格的 **Top SQL** (最高 SQL) 索引標籤中找到執行中和近期查詢的相關資訊。您可以使用此資訊來調校查詢。

**Topics**
+ [最高 SQL 索引標籤概觀](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL)
+ [在績效詳情儀表板中存取更多 SQL 文字](USER_PerfInsights.UsingDashboard.SQLTextSize.md)
+ [在績效詳情儀表板中檢視 SQL 統計數字](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel.md)

## 最高 SQL 索引標籤概觀
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL"></a>

依預設，**Top SQL** (最高 SQL) 索引標籤會顯示在資料庫負載中佔最大比例的 25 個查詢。為了協助調校查詢，您可以分析查詢文字和 SQL 統計資料等資訊。您還可以選擇要出現在 **Top SQL** (最高 SQL) 索引標籤中的統計數字。

**Topics**
+ [SQL 文字](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text)
+ [SQL Statistics](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics)
+ [依等待分組的負載 (AAS)](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits)
+ [檢視 SQL 資訊](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information)
+ [選擇統計資料偏好設定](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences)

### SQL 文字
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text"></a>

根據預設，**Top SQL** (最高 SQL) 資料表中的每個資料列都會顯示每個 SQL 陳述式的 500 位元組文字。

![\[SQL 文字\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/sql-text-oracle.png)


若要了解如何查看超過預設 500 位元組的 SQL 文字，請參閱 [在績效詳情儀表板中存取更多 SQL 文字](USER_PerfInsights.UsingDashboard.SQLTextSize.md)。

*SQL 摘要*綜合顯示結構相似但可能有不同常值的多個實際查詢。摘要中，問號會取代硬式編碼值。例如，摘要可能是 `SELECT * FROM emp WHERE lname= ?`。此摘要可能包含下列子查詢：

```
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
```

若要逐句查看摘要中的 SQL 陳述式，請選取查詢，然後選擇加號 (\$1)。在下列範例中，選取的查詢是摘要。

![\[選取的 SQL 摘要\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_4b.png)


**注意**  
SQL 摘要會將類似的 SQL 陳述式分組，但不會修訂敏感資訊。

績效詳情可以將 Oracle SQL 文字顯示為 **Unknown (不明)**。在以下情況中，文字具有此狀態：
+ `SYS` 以外的 Oracle 資料庫使用者處於作用中狀態，但目前未執行 SQL。例如，當平行查詢完成時，查詢協調器會等待協助程式程序傳送工作階段統計數字。在等待期間，查詢文字顯示會顯示 **Unknown (不明)**。
+ 對於標準版 2 上的 RDS for Oracle 執行個體，Oracle Resource Manager 會限制平行執行緒的數量。執行此工作的背景處理程序會導致查詢文字顯示為 **Unknown (不明)**。

### SQL Statistics
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics"></a>

*SQL 統計數字*是 SQL 查詢的效能相關指標。例如，績效詳情可能顯示每秒的執行次數或每秒處理的資料列數。績效詳情只收集最常用查詢的統計數字。這些通常會符合績效詳情儀表板中依負載顯示的熱門查詢。

**Top SQL** (最高 SQL) 表格的每一行顯示 SQL 陳述式或摘要的相關統計數字，如下列範例所示。

![\[最高 SQL\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_4.png)


績效詳情可將 SQL 統計數字報告為 `0.00` 和 `-` (不明)。在下列情況下會發生此情況：
+ 只有一個樣本存在。例如，績效詳情會根據 `pg_stat_statements` 檢視中的多個樣本來計算 RDS PostgreSQL 查詢。當工作負載執行時間很短時，績效詳情可能只收集到一個樣本，這代表它無法計算變化速率。不明值用破折號 (`-`) 表示。
+ 兩個樣本具有相同的值。績效詳情無法計算變化速率，因為沒有發生變化，因此它將速率報告為 `0.00`。
+ RDS PostgreSQL 陳述式缺少有效識別符。只有在解析和分析之後，PostgreSQL 才會為陳述式建立識別符。因此，陳述式可以存在於 PostgreSQL 內部記憶體中結構，而沒有識別符。由於績效詳情每秒對內部記憶體中結構採樣一次，所以低延遲查詢可能只顯示一個樣本。如果查詢識別符無法用於此樣本，則績效詳情無法將此陳述式與其統計數字產生關聯。不明值用破折號 (`-`) 表示。

如需 Amazon RDS 引擎之 SQL 統計數字的說明，請參閱[績效詳情的 SQL 統計數字](sql-statistics.md)。

### 依等待分組的負載 (AAS)
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits"></a>

在**最高 SQL** 中，**根據等待的負載 (AAS)** 欄說明了與每個最高負載項目相關聯的資料庫負載百分比。此欄根據目前在**資料庫負載圖表**中所選的群組依據來反映出該項目的負載。如需平均作用中工作階段 (AAS) 的詳細資訊，請參閱 [平均作用中工作階段](USER_PerfInsights.Overview.ActiveSessions.md#USER_PerfInsights.Overview.ActiveSessions.AAS)。

例如，您可以依等待狀態將 **DB load** (資料庫負載) 圖表分組。您可檢查最高負載項目資料表中的 SQL 查詢。在此情況下，**根據等待列出資料庫負載**列較大且分段，並以顏色為代碼來顯示該查詢所帶來的指定等待狀態程度。這也會顯示哪些等待狀態會影響選取的查詢。

![\[依據等待的資料庫負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_6.png)


### 檢視 SQL 資訊
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information"></a>

在**最高 SQL** 資料表中，您可以開啟陳述式以檢視其資訊。資訊會顯示在底部窗格中。

![\[已選取常值查詢的最高 SQL 表格\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-open.png)


以下幾種與 SQL 陳述式相關聯的識別符 (ID)：
+ **支援 SQL ID** – SQL ID 的雜湊值。此值只是在您與 AWS Support 互動時用來參考 SQL ID。AWSSupport 無法存取您的實際 SQL ID 和 SQL 文字。
+ **支援摘要 ID** – 摘要 ID 的雜湊值。此值只是在您與 AWS Support 互動時用來參考摘要 ID。AWSSupport 無法存取您的實際摘要 ID 和 SQL 文字。

### 選擇統計資料偏好設定
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences"></a>

您可以選擇 **Preferences** (偏好設定) 圖示，以控制 **Top SQL** (最高 SQL) 索引標籤中顯示的統計資料。

![\[統計資料偏好設定\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences-icon.png)


當您選擇 **Preferences (偏好設定)** 圖示時，**Preferences (偏好設定)** 視窗會開啟。下列螢幕擷取畫面是 **Preferences** (偏好設定) 視窗的範例。

![\[偏好設定視窗\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences.png)


若要讓您要的統計數字出現在 **Top SQL** (最高 SQL) 索引標籤中，請使用滑鼠捲動到視窗底部，然後選擇 **Continue** (繼續)。

如需 Amazon RDS 引擎每秒或每次呼叫統計資料的詳細資訊，請參閱 [績效詳情的 SQL 統計數字](sql-statistics.md) 中的引擎特定 SQL 統計資料一節

# 在績效詳情儀表板中存取更多 SQL 文字
<a name="USER_PerfInsights.UsingDashboard.SQLTextSize"></a>

根據預設，**最高 SQL** 資料表中的每個列會顯示每個 SQL 陳述式的 500 位元組的 SQL 文字。

![\[500 個位元組的 SQL\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-top-sql-bytes.png)


SQL 陳述式超過 500 位元組時，您可以在 **Top SQL** 表格下方的 **SQL text** (SQL 文字) 區段檢視更多文字。在此情況下，**SQL text** (SQL 文字) 所顯示查詢的最大長度為 4 KB。此限制是由主控台引入，並受限於資料庫引擎設定的限制。若要儲存 **SQL text** (SQL 文字) 中顯示的文字，請選擇 **Download** (下載)。

**Topics**
+ [Amazon RDS 引擎 的文字大小限制](#sql-text-engine-limits)
+ [為 Amazon RDS for PostgreSQL 資料庫執行個體設定 SQL 文字限制](USER_PerfInsights.UsingDashboard.SQLTextLimit.md)
+ [在 Performance Insights 儀表板中檢視和下載更多 SQL 文字](view-download-text.md)

## Amazon RDS 引擎 的文字大小限制
<a name="sql-text-engine-limits"></a>

當您下載 SQL 陳述式時，資料庫引擎會決定文字的最大長度。您可以下載的文字最大限制為以下每個引擎的限制。


| 資料庫引擎 | 下載文字長度上限 | 
| --- | --- | 
| Amazon RDS for MySQL 和 MariaDB | 啟用效能結構描述時，長度固定為 4,096 個位元組。如果未啟用效能結構描述，長度會固定為 65,535 個位元組。 | 
| Amazon RDS for Microsoft SQL Server | 4,096 個字元 | 
| Amazon RDS for Oracle | 1,000 位元組 | 

Performance Insights 主控台的 **SQL text** (SQL 文字) 區段顯示上限為引擎傳回的最大值。例如，如果 MySQL 最多傳回 1 KB 內容到 Performance Insights，則其僅能收集並顯示 1 KB 內容，即使原始查詢較大也如此。因此，當您查看 **SQL text** (SQL 文字) 或下載查詢時，Performance Insights 會傳回相同的位元組數量。

如果您使用 AWS CLI 或 API，Performance Insights 便不會有主控台強制施加的 4 KB 限制。`DescribeDimensionKeys` 和 `GetResourceMetrics` 會傳回最多 500 個位元組。

**注意**  
`GetDimensionKeyDetails` 會傳回完整查詢，但大小會受限於引擎限制。

# 為 Amazon RDS for PostgreSQL 資料庫執行個體設定 SQL 文字限制
<a name="USER_PerfInsights.UsingDashboard.SQLTextLimit"></a>

Amazon RDS for PostgreSQL 處理文字的方式不同。您可以使用資料庫執行個體參數 `track_activity_query_size` 設定文字大小限制。此參數具有下列特性：

預設文字大小  
在 Amazon RDS for PostgreSQL 9.6 版中，`track_activity_query_size` 參數的預設設定為 1,024 位元組。在 Amazon RDS for PostgreSQL 10 版中，其預設設定為 4,096 位元組。

文字大小上限  
Amazon RDS for PostgreSQL 第 12 版及較低版本中，`track_activity_query_size` 的限制為 102,400 位元組。第 13 版及更高版本適用的最大值為 1 MB。  
如果引擎傳回 1 MB 內容到 Performance Insights，則主控台只會顯示前 4 KB 的內容。如果您下載查詢，則會取得完整的 1 MB 內容。在此情況下，檢視和下載會傳回不同的位元組數。如需 `track_activity_query_size` 資料庫執行個體參數的更多相關資訊，請參閱 PostgreSQL 文件中的[執行時間統計資料](https://www.postgresql.org/docs/current/runtime-config-statistics.html)。

若要增加 SQL 文字大小，請提高 `track_activity_query_size` 限制。若要修改參數，請在與 Amazon RDS for PostgreSQL 資料庫執行個體關聯的參數群組中變更參數設定。

**在執行個體使用預設參數群組時變更設定**

1. 為適當的資料庫引擎和資料庫引擎版本建立新的資料庫執行個體參數群組。

1. 在新的數群組中設定參數。

1. 將新的參數群組與資料庫執行個體建立關聯。

如需設定資料庫執行個體參數的相關資訊，請參閱 [修改 Amazon RDS 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

# 在 Performance Insights 儀表板中檢視和下載更多 SQL 文字
<a name="view-download-text"></a>

在 Performance Insights 儀表板中，您可以檢視和下載更多 SQL 文字。

**在績效詳情儀表板內檢視更多 SQL 文字**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Performance Insights** (績效詳情)。

1. 選擇資料庫執行個體。

1. 向下捲動至 Performance Insights 儀表板中的**最高 SQL** 索引標籤。

1. 選擇加號以展開 SQL 摘要，然後選擇其中一個摘要的子查詢。

   內含大於 500 位元組文字的 SQL 陳述式看起來與以下影像類似。  
![\[含大量文字的 SQL 陳述式\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-1.png)

1. 向下捲動至 **SQL text** (SQL 文字) 索引標籤。  
![\[SQL 資訊區段會顯示更多 SQL 文字\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-2.png)

   績效詳情儀表板可以為每個 SQL 陳述式顯示高達 4,096 位元組。

1. (選用) 選擇**複製**來複製顯示的 SQL 陳述式，或選擇**下載**來下載 SQL 陳述式，檢視達到資料庫引擎限制的 SQL 文字。
**注意**  
若要複製或下載 SQL 陳述式，停用彈出式封鎖程式。

# 在績效詳情儀表板中檢視 SQL 統計數字
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel"></a>

在績效詳情儀表板中，**Database load (資料庫負載)** 圖表的 **Top SQL (最高 SQL)** 索引標籤會提供 SQL 統計數字。

**檢視 SQL 統計數字**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在左側導覽窗格中，選擇 **Performance Insights (績效詳情)**。

1. 在頁面頂端，選擇您想要查看其 SQL 統計數字的資料庫。

1. 捲動到頁面底部並選擇 **Top SQL (最高 SQL)**。

1. 選擇個別陳述 或摘要查詢。  
![\[檢視執行中查詢的指標\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_sql.png)

1. 選擇圖表右上角的齒輪圖示，以選擇要顯示的統計資料。如需 Amazon RDS 引擎之 SQL 統計數字的說明，請參閱 [績效詳情的 SQL 統計數字](sql-statistics.md)。

   下列範例顯示 Oracle 資料庫執行個體的統計數字偏好設定。  
![\[Oracle 資料庫執行個體執行中查詢的指標偏好設定\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_oracle.png)

   下列範例顯示 MariaDB 與 MySQL 資料庫執行個體的偏好設定。  
![\[MariaDB 和 MySQL 資料庫執行個體執行中查詢的指標偏好設定。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_ams.png)

1. 選擇 Save (儲存) 儲存偏好設定。

   **Top SQL (最高 SQL)** 表格會重新整理。

   以下範例顯示 Oracle SQL 查詢的統計數字。  
![\[SQL 查詢的統計數字\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_stats_oracle.png)

# 分析最高 Oracle PDB 負載
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.TopPDB"></a>

分析 Oracle 容器資料庫 (CDB) 的負載時，您可能想要識別哪些插入式資料庫 (PDB) 對資料庫負載造成最大影響。您也可以比較執行類似查詢之個別 PDB 的效能，以微調效能。如需 Oracle CDB 的詳細資訊，請參閱 [RDS for Oracle 資料庫架構](oracle-multi-architecture.md)。

在 Amazon RDS Performance Insights 儀表板中，您可以在**維度**索引標籤的**最高 PDB** 索引標籤下找到插入式資料庫 (PDB) 的相關資訊。

如需此功能的區域、資料庫引擎和執行個體類別支援的資訊，請參閱 [Performance Insights 功能的 Amazon RDS 資料庫引擎、區域和執行個體類別支援](USER_PerfInsights.Overview.Engines.md#USER_PerfInsights.Overview.PIfeatureEngnRegSupport)。

**分析 Oracle CDB 中的最高 PDB 負載**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在左側導覽窗格中，選取 **Performance Insights**。

1. 選擇 Oracle CDB 執行個體。

   資料庫執行個體的績效詳情儀表板即會出現。

1. 在**資料庫負載**區段中，選擇 [配量依據] 旁邊的**插入式資料庫 (PDB)**。

   平均作用中工作階段圖表會顯示具有最高負載的 PDB。PDB 識別符會出現在以顏色編碼的方塊右側。每個識別符可唯一識別 PDB。  
![\[PDB 負載的平均作用中工作階段圖表\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_topPDB_AAS.png)

1. 向下捲動至 **Top SQL** (最高 SQL) 索引標籤。

   在下列範例中，您可以看到相同的 SQL 查詢及其驅動到多個 PDB 的負載。  
![\[多個 PDB 的相同 SQL 查詢負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_topPDB_ex1.png)

   在下列範例中，單一 PDB 正在處理比 CDB 中其他 PDB 更高的負載。  
![\[PDB 的高 SQL 查詢負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_topPDB_ex2.png)

   如需 Oracle CDB 的詳細資訊，請參閱 [CDB 和 PDB](https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/CDBs-and-PDBs.html#GUID-FC2EB562-ED31-49EF-8707-C766B6FE66B8)。

# 使用 Amazon RDS 的 Performance Insights 儀表板來分析執行計畫
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans"></a>

在 Amazon RDS Performance Insights 儀表板中，您可以找到 Oracle 和 SQL Server 資料庫執行個體執行計畫的相關資訊。您可以使用此資訊來了解哪些計畫對資料庫負載造成最大影響。

若要分析 Oracle 或 SQL Server 執行計畫，請參閱下列主題。

**分析執行計畫**
+ [使用 Amazon RDS 的 Performance Insights 儀表板來分析 Oracle 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ [使用 Amazon RDS 的 Performance Insights 儀表板來分析 SQL Server 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

## 分析 Amazon RDS 執行計畫的概觀
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans.Overview"></a>

您可以使用 Amazon RDS Performance Insights 儀表板，了解哪些計畫對 Oracle 和 SQL Server 資料庫執行個體的資料庫負載造成最大影響。

 例如，指定時間的最高 SQL 陳述式可能正使用下表中顯示的計畫。


****  

| 最高 SQL | 計畫 | 
| --- | --- | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 10  |  計畫 A  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 521  |  計畫 B  | 
|  SELECT SUM(s\$1total) FROM sales WHERE region = 10  |  計畫 A  | 
|  SELECT \$1 FROM emp WHERE emp\$1id = 1000  |  計畫 C  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 72  |  計畫 A  | 

可使用績效詳情的計畫功能執行以下操作：
+ 找出最高 SQL 查詢使用的計畫。

  例如，您可能會發現大多數資料庫負載是由使用計畫 A 和計畫 B 的查詢所產生，只有一小部分使用計畫 C。
+ 比較同一查詢的不同計畫。

  在上面的範例中，除了產品 ID 之外，三個查詢完全相同。兩個查詢使用計畫 A，但有一個查詢使用計畫 B。若要查看兩個計畫的差異，可以使用績效詳情。
+ 了解查詢何時切換到新計畫。

  您可能會看到有查詢原本使用計畫 A，然後在某個時間切換到計畫 B。此時資料庫是否有變化？ 例如，如果資料表空白，最佳化程式可能會選擇完整資料表掃描。如果資料表載入了一百萬列，則最佳化程式可能會切換到索引範圍掃描。
+ 向下切入至成本最高的計畫之特定步驟。

  例如，長時間執行的查詢，可能意味著對等聯結中缺少聯結條件。這個缺少的條件強制使用笛卡兒聯結，聯結兩個資料表的所有列。

您可以使用績效詳情的計畫擷取功能執行上述任務。就跟依據等待事件和最高 SQL 對查詢進行配量一樣，您也可以按計畫維度來配量。

# 使用 Amazon RDS 的 Performance Insights 儀表板來分析 Oracle 執行計畫
<a name="USER_PerfInsights.UsingDashboard.AccessPlans"></a>

分析 Oracle 資料庫上的資料庫負載時，您可能想知道哪些計畫造成最多資料庫負載。您可以使用 Performance Insights 的計畫擷取功能，判斷哪些計畫造成最多資料庫負載。

**使用主控台分析 Oracle 執行計畫的方式**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Performance Insights** (績效詳情)。

1. 選擇 Oracle 資料庫執行個體。顯示該資料庫執行個體的績效詳情儀表板。

1. 在 **Database load** (資料庫負載) 區段中，選擇 **Slice Faves** (配量依據) 旁邊的 **Plans** (計畫)。

   平均作用中工作階段數圖顯示最高 SQL 陳述式使用的計畫。計畫雜湊值顯示在顏色編碼正形的右側。每個雜湊值唯一識別一個計畫。  
![\[按計畫配量\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans.png)

1. 向下捲動至 **Top SQL** (最高 SQL) 索引標籤。

   在下列範例中，最高 SQL 摘要包含兩個計畫。您可以透過陳述式中的問號來判斷這是摘要。  
![\[選擇摘要計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected.png)

1. 選擇摘要，展開到其元件陳述式中。

   在下列範例中，`SELECT` 陳述式是摘要查詢。摘要中的元件查詢使用兩個不同的計畫。計畫的顏色對應至資料庫負載圖。摘要中的計畫總數顯示在第二個資料欄中。  
![\[選擇摘要計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-digest-plan.png)

1. 向下捲動，從 **Plans for digest query** (摘要查詢計畫) 清單中選擇兩個**計畫**進行比較。

   一次可以查看查詢的一個或兩個計畫。下面的螢幕擷取畫面將摘要中的兩個計畫與雜湊 2032253151 和雜湊 1117438016 進行比較。在以下範例中，執行此摘要查詢的平均作用中工作階段中，62% 使用左側的計畫，而 38% 使用右側的計畫。  
![\[並排比較計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-compare-plan.png)

   在此範例中，兩個計畫有很重要的差異。計畫 2032253151 中的步驟 2 使用索引掃描，而計畫 1117438016 使用完整資料表掃描。對於具有大量資料列的資料表來說，使用索引掃描進行單列查詢幾乎總是比較快。  
![\[並排比較計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-table-access.png)

1. (選用) 選擇 **Copy** (複製) 將計畫複製到剪貼簿，或選 **Download** (下載) 將計畫儲存到硬碟中。

# 使用 Amazon RDS 的 Performance Insights 儀表板來分析 SQL Server 執行計畫
<a name="USER_PerfInsights.UsingDashboard.AccessPlansSqlServer"></a>

分析 SQL Server 資料庫上的資料庫負載時，您可能想知道哪些計畫造成最多資料庫負載。您可以使用 Performance Insights 的計畫擷取功能，判斷哪些計畫造成最多資料庫負載。

**使用主控台分析 SQL Server 執行計畫**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Performance Insights** (績效詳情)。

1. 選擇 SQL Server 資料庫執行個體。顯示該資料庫執行個體的績效詳情儀表板。

1. 在 **Database load** (資料庫負載) 區段中，選擇 **Slice Faves** (配量依據) 旁邊的 **Plans** (計畫)。

   平均作用中工作階段數圖顯示最高 SQL 陳述式使用的計畫。計畫雜湊值顯示在顏色編碼正形的右側。每個雜湊值唯一識別一個計畫。  
![\[按計畫配量\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans-sqlserver.png)

1. 向下捲動至 **Top SQL** (最高 SQL) 索引標籤。

   在下列範例中，最高 SQL 摘要包含三個計畫。SQL 陳述式中存在問號，表示陳述式是摘要。若要檢視完整的 SQL 陳述式，請在 **SQL 陳述式**欄中選擇一個值。  
![\[選擇摘要計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected-sqlserver.png)

1. 選擇摘要，展開到其元件陳述式中。

   在下列範例中，`SELECT` 陳述式是摘要查詢。摘要中的元件查詢使用三個不同的執行計畫。指派給計畫的顏色對應至資料庫負載圖。  
![\[選擇摘要計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-digest-plan-sqlserver.png)

1. 向下捲動，從 **Plans for digest query** (摘要查詢計畫) 清單中選擇兩個**計畫**進行比較。

   一次可以查看查詢的一個或兩個計畫。下列螢幕擷取畫面比較摘要中的兩個計畫。在以下範例中，執行此摘要查詢的平均作用中工作階段有 40% 使用左側的計畫，而 28% 使用右側的計畫。  
![\[並排比較計畫\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-compare-plan-sqlserver.png)

   在上述範例中，兩個計畫有很重要的差異。左側計畫中的步驟 2 使用資料表掃描，而右側的計畫使用叢集索引掃描。對於具有大量資料列的資料表，擷取單一資料列的查詢幾乎總是比使用叢集索引掃描更快。

1. (選用) 選擇「計畫詳細資訊」資料表上的**設定**圖示，以自訂欄的可見性和順序。下列螢幕擷取畫面顯示「計畫詳細資訊」資料表，其中**輸出清單**欄為第二個欄。  
![\[在「計畫詳細資訊」資料表中自訂欄的可見性和順序\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/pi-plan-fields-sql-server.png)

1. (選用) 選擇 **Copy** (複製) 將計畫複製到剪貼簿，或選 **Download** (下載) 將計畫儲存到硬碟中。

**注意**  
Performance Insights 使用階層樹狀資料表顯示預估的執行計畫。資料表包含每個陳述式的部分執行資訊。若要進一步了解「計畫詳細資訊」資料表中的欄，請參閱 SQL Server 文件中的 [SET SHOWPLAN\$1ALL](https://learn.microsoft.com/en-us/sql/t-sql/statements/set-showplan-all-transact-sql)。若要顯示預估執行計畫的完整執行資訊，請選擇**下載**以下載計畫，然後將計畫上傳至 SQL Server Management Studio。如需使用 SQL Server Management Studio 顯示預估執行計畫的詳細資訊，請參閱 SQL Server 文件中的[顯示預估執行計畫](https://learn.microsoft.com/en-us/sql/relational-databases/performance/display-the-estimated-execution-plan)。

# 檢視 Performance Insights 主動建議
<a name="USER_PerfInsights.InsightsRecommendationViewDetails"></a>

Amazon RDS Performance Insights 會監控特定指標，以及透過分析特定資源可能有問題的層級，來自動建立閾值。當新的指標值在指定期間內超過預先定義的閾值時，Performance Insights 會產生主動建議。此建議有助於防止未來的資料庫效能影響。若要接收這些主動建議，您必須開啟具有付費方案保留期的 Performance Insights。

如需開啟績效詳情的詳細資訊，請參閱 [開啟和關閉 Amazon RDS 的 Performance Insights](USER_PerfInsights.Enabling.md)。如需 Performance Insights 的定價和資料保留詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。

若要了解主動建議支援的區域、資料庫引擎和執行個體類別，請參閱 [Performance Insights 功能的 Amazon RDS 資料庫引擎、區域和執行個體類別支援](USER_PerfInsights.Overview.Engines.md#USER_PerfInsights.Overview.PIfeatureEngnRegSupport)。

您可以在建議詳細資訊頁面中檢視詳細分析和主動建議的建議調查。

如需建議的詳細資訊，請參閱 [Amazon RDS 的建議](monitoring-recommendations.md)。

**檢視主動建議的詳細分析**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，執行下列任一操作：
   + 選擇**建議**。

     **建議**頁面會顯示依您帳戶中所有資源的嚴重性排序的建議清單。
   + 選擇**資料庫**，然後在資料庫頁面中選擇資源的**建議**。

     **建議**索引標籤會顯示所選取資源的建議及其詳細資訊。

1. 尋找主動建議，然後選擇**檢視詳細資訊**。

   建議詳細資訊頁面隨即出現。標題提供受影響資源的名稱，其中包含偵測到的問題和嚴重性。

   以下是建議詳細資訊頁面上的元件：
   + **建議摘要** – 偵測到的問題、建議和問題狀態、問題開始和結束時間、建議修改時間和引擎類型。  
![\[主動建議的建議詳細資訊頁面，在主控台中顯示建議摘要區段\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/RecommendationProactive-RecSummary.png)
   + **指標** – 偵測到的問題的圖表。每個圖表會顯示由資源的基準行為和從問題開始時間回報的指標資料所決定的閾值。  
![\[主動建議的建議詳細資訊頁面，在主控台中顯示指標區段\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/RecommedationProactive_Metrics.png)
   + **分析和建議** – 建議和建議的原因。  
![\[主動建議的建議詳細資訊頁面，在主控台中顯示分析和建議區段\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/ProactiveRecommendation-AnalysisAndRec.png)

   您可以檢閱問題的原因，然後執行建議的動作來修正問題，或選擇右上角的**關閉**以關閉建議。

# 使用適用於 Amazon RDS 的 Performance Insights API 來擷取指標
<a name="USER_PerfInsights.API"></a>

在啟用 Performance Insights 時，API 會提供對執行個體效能的可見性。Amazon CloudWatch Logs 提供用於 AWS 服務之販售監控指標的授權來源。

績效詳情提供以平均作用中工作階段 (AAS) 評估的資料庫負載特定網域檢視。此指標在 API 消費者看來是二維時間序列資料集。資料的時間維度提供查詢的時間範圍內各時間點的資料庫負載資料。每個時間點會根據請求的維度來分解整體負載，例如 `SQL`、`Wait-event`、`User`、或者 `Host`，在該時間點所測得。

Amazon RDS 績效詳情會監控您的 Amazon RDS 資料庫執行個體，讓您可分析資料庫效能並對其進行故障診斷。檢視績效詳情資料的一個方法就是使用 AWS 管理主控台。績效詳情也提供公有 API，讓您可以查詢自己的資料。您可以使用 API 執行下列動作：
+ 將資料卸載至資料庫
+ 將績效詳情資料新增至現有監控儀表板
+ 建置監控工具

若要使用績效詳情 API，請在其中一個 Amazon RDS 資料庫執行個體上啟用績效詳情。如需啟用績效詳情的相關資訊，請參閱 [開啟和關閉 Amazon RDS 的 Performance Insights](USER_PerfInsights.Enabling.md)。如需績效詳情 API 的相關詳細資訊，請參閱 [Amazon RDS 績效詳情 API 參考](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html)。

績效詳情 API 提供下列操作。


****  

|  績效詳情動作  |  AWS CLI 命令  |  描述  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html)  |  針對資料庫執行個體的特定時間區間建立績效分析報告。結果是 `AnalysisReportId`，也是報告的唯一識別符。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html)  |  刪除績效分析報告。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html](https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html)  |  針對特定時段，擷取其指標的前 N 個維度金鑰。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html)  |  擷取資料庫執行個體或資料來源之指定維度群組的屬性。比方說，如果指定 SQL ID，且有維度詳細資訊可用，則 `GetDimensionKeyDetails` 會擷取與此 ID `db.sql.statement` 相關聯之維度的完整文字。這項操作很有用，因為 `GetResourceMetrics` 和 `DescribeDimensionKeys` 不支援擷取大量的 SQL 陳述式文字。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html)  |  擷取報告，包括報告洞見。結果包括報告狀態、報告 ID、報告時間詳細資訊、洞見和建議。  | 
| [GetResourceMetadata](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetadata.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html)  |  檢索不同功能的中繼資料。例如，中繼資料可能指出特定資料庫執行個體上某項功能已開啟或關閉。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)  |  擷取一組資料來源某個時段的績效詳情指標。您可以提供特定維度群組和維度，以及為每個群組提供彙總和篩選條件。  | 
| [ListAvailableResourceDimensions](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceDimensions.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html)  |  檢索指定執行個體上每個指定指標類型可查詢的維度。  | 
| [ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html)  |  檢索可為指定資料庫執行個體查詢的指定指標類型中所有可用的指標。  | 
|  `[ListPerformanceAnalysisReports](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListPerformanceAnalysisReports.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html)  | 擷取資料庫執行個體可用的所有分析報告。報告會根據每個報告的開始時間列出。 | 
|  `[ListTagsForResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListTagsForResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html)  |  列出所有新增至資源的中繼資料標籤。清單包括標籤的名稱和值。  | 
|  `[TagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_TagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html)  |  將中繼資料標籤新增到 Amazon RDS 資源。標籤包括一個名稱和一個值。  | 
|  `[UntagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_UntagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html)  |  從資源移除中繼資料標籤。  | 

如需擷取 Performance Insights 時間序列指標和 AWS CLI 範例的詳細資訊，請參閱下列主題。

**Topics**
+ [擷取 Performance Insights 的時間序列指標](USER_PerfInsights.API.TimeSeries.md)
+ [AWS CLI 績效詳情的範例](USER_PerfInsights.API.Examples.md)

# 擷取 Performance Insights 的時間序列指標
<a name="USER_PerfInsights.API.TimeSeries"></a>

`GetResourceMetrics` 操作會從績效詳情資料中擷取一或多個時間時間序列指標。`GetResourceMetrics` 需要指標和時間間隔，並傳回含資料點清單的回應。

例如，AWS 管理主控台 會將 `GetResourceMetrics` 用於填入 **Counter Metrics (計數器指標)** 圖表和 **Database Load (資料庫負載)** 圖表，如下圖所示。

![\[計數器指標和資料庫負載圖表\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-api-charts.png)


`GetResourceMetrics` 傳回的所有指標，除 `db.load` 之外，皆為標準的時間序列指標。此指標會顯示在 **Database Load (資料庫負載)** 圖表中。`db.load` 指標與其他時間序列指標不同，因為您可以將它分為名為*維度*的子元件。在先前的影像中，`db.load` 已被細分，分組依據為組成 `db.load` 的等待狀態。

**注意**  
`GetResourceMetrics` 也可以傳回 `db.sampleload` 指標，但 `db.load` 指標適用於大部分情況。

如需 `GetResourceMetrics` 所傳回指標的相關資訊，請參閱[Performance Insights 計數器指標](USER_PerfInsights_Counters.md)。

這些指標支援下列計算：
+ 平均值 – 指標在一段時間內的平均值。將 `.avg` 附加至指標名稱。
+ 最小值 – 指標在一段時間內的最小值。將 `.min` 附加至指標名稱。
+ 最大值 – 指標在一段時間內的最大值。將 `.max` 附加至指標名稱。
+ 總和 – 指標值在一段時間內的總和。將 `.sum` 附加至指標名稱。
+ 取樣計數 – 在一段時間內收集指標的次數。將 `.sample_count` 附加至指標名稱。

例如，假設收集指標的時間為 300 秒 (5 分鐘)，且每分鐘收集一次指標。每分鐘的值為 1、2、3、4 和 5。在此情況下，會傳回下列計算：
+ 平均值 – 3
+ 最小值 – 1
+ 最大值 – 5
+ 總和 – 15
+ 取樣計數 – 5

如需使用 `get-resource-metrics` AWS CLI 命令的相關資訊，請參閱 [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)。

對於 `--metric-queries` 選項，請指定您要取得結果的一或多個查詢。每個查詢的組成為必要的 `Metric` 和選用的 `GroupBy` 及 `Filter` 參數。以下是 `--metric-queries` 選項規格的範例。

```
{
   "Metric": "string",
   "GroupBy": {
     "Group": "string",
     "Dimensions": ["string", ...],
     "Limit": integer
   },
   "Filter": {"string": "string"
     ...}
```

# AWS CLI 績效詳情的範例
<a name="USER_PerfInsights.API.Examples"></a>

在下列各節中，進一步了解績效詳情的 AWS Command Line Interface (AWS CLI)，並使用 AWS CLI 範例。

**Topics**
+ [for Performance Insights AWS CLI 的內建說明](#USER_PerfInsights.API.CLI)
+ [擷取計數器指標](#USER_PerfInsights.API.Examples.CounterMetrics)
+ [擷取最久等待事件的資料庫負載平均值](#USER_PerfInsights.API.Examples.DBLoadAverage)
+ [擷取最高 SQL 的資料庫負載平均值](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL)
+ [擷取依據 SQL 篩選的資料庫負載平均值](#USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL)
+ [擷取 SQL 陳述式的完整文字](#USER_PerfInsights.API.Examples.GetDimensionKeyDetails)
+ [建立一段時間區間的績效分析報告](#USER_PerfInsights.API.Examples.CreatePerfAnalysisReport)
+ [擷取績效分析報告](#USER_PerfInsights.API.Examples.GetPerfAnalysisReport)
+ [列出資料庫執行個體的所有績效分析報告](#USER_PerfInsights.API.Examples.ListPerfAnalysisReports)
+ [刪除績效分析報告](#USER_PerfInsights.API.Examples.DeletePerfAnalysisReport)
+ [將標籤新增至績效分析報告](#USER_PerfInsights.API.Examples.TagPerfAnalysisReport)
+ [列出績效分析報告的所有標籤](#USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport)
+ [從績效分析報告中刪除標籤](#USER_PerfInsights.API.Examples.UntagPerfAnalysisReport)

## for Performance Insights AWS CLI 的內建說明
<a name="USER_PerfInsights.API.CLI"></a>

您可以使用 AWS CLI檢視績效詳情資料。您可以在 AWS CLI 命令列中輸入以下內容，以檢視 Performance Insights 命令的說明。

```
aws pi help
```

如果您尚未 AWS CLI 安裝 ，請參閱*AWS CLI 《 使用者指南*》中的[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) ，以取得安裝相關資訊。

## 擷取計數器指標
<a name="USER_PerfInsights.API.Examples.CounterMetrics"></a>

下列螢幕擷取畫面顯示 AWS 管理主控台中的兩個計數器指標圖表。

![\[計數器指標圖表。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-api-counters-charts.png)


下列範例示範如何收集 AWS 管理主控台 用來產生兩個計數器指標圖表的相同資料。

針對 Linux、macOS 或 Unix：

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

在 Windows 中：

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

您也可以透過指定 `--metrics-query` 選項的檔案來提高命令的可讀性。以下範例會將名為 query.json 的檔案用於此選項。此檔案的內容如下。

```
[
    {
        "Metric": "os.cpuUtilization.user.avg"
    },
    {
        "Metric": "os.cpuUtilization.idle.avg"
    }
]
```

執行下列命令來使用檔案。

對於 Linux、macOS 或 Unix：

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

在 Windows 中：

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

先前的範例會為選項指定下列值：
+ `--service-type` – `RDS` for Amazon RDS
+ `--identifier`– 資料執行個體的資源 ID
+ `--start-time` 和 `--end-time` – 要查詢期間的 ISO 8601 `DateTime` 值，支援多種格式

它會查詢一小時的時間範圍：
+ `--period-in-seconds`–`60` 適用於每分鐘的查詢
+ `--metric-queries`– 兩個查詢的陣列，一個指標剛好一個查詢。

  此指標名稱會使用點將指標分類在實用的類別，其中最後一個元素則做為函數。在此範例中，此函數是每個查詢的 `avg`。如同 Amazon CloudWatch，支援的函數是 `min`、`max`、`total` 和 `avg`。

回應看起來類似以下的內容。

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                "Metric": "os.cpuUtilization.user.avg" //Metric1
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 10.0
                }
                //... 60 datapoints for the os.cpuUtilization.user.avg metric
            ]
        },
        {
            "Key": {
                "Metric": "os.cpuUtilization.idle.avg" //Metric2
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 12.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 13.5
                },
                //... 60 datapoints for the os.cpuUtilization.idle.avg metric 
            ]
        }
    ] //end of MetricList
} //end of response
```

回應具有 `Identifier`、`AlignedStartTime` 和 `AlignedEndTime`。`--period-in-seconds` 值為 `60`，開始和結束時間皆一致使用分鐘。如果 `--period-in-seconds` 是 `3600`，開始和結束時間則會一致使用小時。

回應中的 `MetricList` 擁有許多項目，每個都包含 `Key` 和 `DataPoints` 項目。每個 `DataPoint` 都有 `Timestamp` 和 `Value`。每個 `Datapoints` 清單有 60 個資料點，因為查詢是適用於一小時中的每分鐘資料，內含 `Timestamp1/Minute1`、`Timestamp2/Minute2` 等，最多可達 `Timestamp60/Minute60`。

因為此查詢是適用於兩個不同的計數器指標，回應 `MetricList` 中會有兩個元素。

## 擷取最久等待事件的資料庫負載平均值
<a name="USER_PerfInsights.API.Examples.DBLoadAverage"></a>

下列範例與 AWS 管理主控台 用來產生堆疊區域折線圖的查詢相同。此範例會使用根據前七個最久的等待事件而區分的負載來擷取前一小時的 `db.load.avg`。此命令與 [擷取計數器指標](#USER_PerfInsights.API.Examples.CounterMetrics) 中的命令相同。然而，查詢 query.json 檔案有以下內容。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 7 }
    }
]
```

執行下列命令。

對於 Linux、macOS 或 Unix：

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

在 Windows 中：

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

此範例會指定 `db.load.avg` 指標與前七個最久等待事件的 `GroupBy`。如需此範例有效值的詳細資訊，請參閱*績效詳情 API 參考*中的[DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)。

回應看起來類似以下的內容。

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                //A Metric with no dimensions. This is the total db.load.avg
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.5166666666666667
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.38333333333333336
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 0.26666666666666666
                }
                //... 60 datapoints for the total db.load.avg key
            ]
        },
        {
            "Key": {
                //Another key. This is db.load.avg broken down by CPU
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.wait_event.name": "CPU",
                    "db.wait_event.type": "CPU"
                }
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.35
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.15
                },
                //... 60 datapoints for the CPU key
            ]
        },
        //... In total we have 8 key/datapoints entries, 1) total, 2-8) Top Wait Events
    ] //end of MetricList
} //end of response
```

在此回應中，`MetricList` 中有八個項目。有一個項目適用於總計 `db.load.avg`，有七個項目，分別適用於根據前七個最久等待事件區份的 `db.load.avg`。與第一個範例不同，因為其中有分組維度，每個指標分組都必須有一個索引鍵。每個指標不能只有一個索引鍵，如同基本計數器指標使用案例。

## 擷取最高 SQL 的資料庫負載平均值
<a name="USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL"></a>

以下範例會根據前 10 個 SQL 陳述式來分組 `db.wait_events`。SQL 陳述式有兩個不同的分組：
+ `db.sql`– 完整的 SQL 陳述式，例如 `select * from customers where customer_id = 123`
+ `db.sql_tokenized`– 字符化的 SQL 陳述式，例如 `select * from customers where customer_id = ?`

分析資料庫效能時，將僅參數不同的 SQL 陳述式視為單一邏輯項目可能會很有幫助。因此，您可以在查詢時使用 `db.sql_tokenized`。然而，特別是在您對說明計畫感興趣時，使用參數來檢查完整 SQL 陳述式並依據 `db.sql` 來查詢分組有時候會更有幫助。這是字符化與完整 SQL 之間的父子關係，內含使用相同字符化 SQL (父項) 分組的多個完整 SQL (子項)。

此範例中的命令與 [擷取最久等待事件的資料庫負載平均值](#USER_PerfInsights.API.Examples.DBLoadAverage) 中的命令類似。然而，查詢 query.json 檔案有以下內容。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.sql_tokenized", "Limit": 10 }
    }
]
```

以下範例使用 `db.sql_tokenized`。

對於 Linux、macOS 或 Unix：

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-29T00:00:00Z \
   --end-time   2018-10-30T00:00:00Z \
   --period-in-seconds 3600 \
   --metric-queries file://query.json
```

在 Windows 中：

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-29T00:00:00Z ^
   --end-time   2018-10-30T00:00:00Z  ^
   --period-in-seconds 3600 ^
   --metric-queries file://query.json
```

此範例的查詢會持續 24 小時，其中 period-in-seconds 為一小時。

此範例會指定 `db.load.avg` 指標與前七個最久等待事件的 `GroupBy`。如需此範例有效值的詳細資訊，請參閱*績效詳情 API 參考*中的[DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)。

回應看起來類似以下的內容。

```
{
    "AlignedStartTime": 1540771200.0,
    "AlignedEndTime": 1540857600.0,
    "Identifier": "db-XXX",

    "MetricList": [ //11 entries in the MetricList
        {
            "Key": { //First key is total
                "Metric": "db.load.avg"
            }
            "DataPoints": [ //Each DataPoints list has 24 per-hour Timestamps and a value
                {
                    "Value": 1.6964980544747081,
                    "Timestamp": 1540774800.0
                },
                //... 24 datapoints
            ]
        },
        {
            "Key": { //Next key is the top tokenized SQL  
                "Dimensions": {
                    "db.sql_tokenized.statement": "INSERT INTO authors (id,name,email) VALUES\n( nextval(?)  ,?,?)",
                    "db.sql_tokenized.db_id": "pi-2372568224",
                    "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE"
                },
                "Metric": "db.load.avg"
            },
            "DataPoints": [ //... 24 datapoints 
            ]
        },
        // In total 11 entries, 10 Keys of top tokenized SQL, 1 total key 
    ] //End of MetricList
} //End of response
```

此回應在 `MetricList` 中有 11 個項目 (1 個總計，前 10 個字符化的 SQL)，每個項目擁有 24 個每小時 `DataPoints`。

對於字符化的 SQL，每個維度清單中有三個項目：
+ `db.sql_tokenized.statement`– 字符化的 SQL 陳述式。
+ `db.sql_tokenized.db_id `– 參考 SQL 所用的原生資料庫 ID，或是無法使用原生資料庫 ID 時，績效詳情為您產生的合成 ID。此範例會傳回 `pi-2372568224` 合成 ID。
+ `db.sql_tokenized.id`– 績效詳情中查詢的 ID。

  在 中 AWS 管理主控台，此 ID 稱為支援 ID。它的名稱為這個，因為 ID 是 AWS Support 可以檢查的資料，以協助您對資料庫的問題進行故障診斷。 非常重視資料 AWS 的安全性和隱私權，而且幾乎所有資料都會以您的 AWS KMS 金鑰加密存放。因此，內部沒有人 AWS 可以查看此資料。在先前的範例中，`tokenized.statement` 和 `tokenized.db_id` 都同時會以加密的形式存放。如果您的資料庫發生問題， AWS Support 可以透過參考支援 ID 來協助您。

進行查詢時，在 `Group` 中指定 `GroupBy` 可能會讓您省下不少心力。然而，如需對已傳回的資料進行更精細的控制，請指定維度的清單。例如，如果所需的是 `db.sql_tokenized.statement`，則可將 `Dimensions` 屬性新增至 query.json 檔案。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": {
            "Group": "db.sql_tokenized",
            "Dimensions":["db.sql_tokenized.statement"],
            "Limit": 10
        }
    }
]
```

## 擷取依據 SQL 篩選的資料庫負載平均值
<a name="USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL"></a>

![\[依據 SQL 篩選的圖表。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-api-filter-chart.png)


先前的影像顯示已選取特定的查詢，最高平均作用中工作階段堆疊區域折線圖的範圍仍涵蓋至該查詢。雖然此查詢仍適用於前七個整體等待事件，系統仍會將回應值篩選出來。此篩選條件會在工作階段符合特定篩選條件時，才進行篩選。

此範例中的對應 API 查詢與 [擷取最高 SQL 的資料庫負載平均值](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL) 中的命令類似。然而，查詢 query.json 檔案有以下內容。

```
[
 {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 5  }, 
        "Filter": { "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
    }
]
```

對於 Linux、macOS 或 Unix：

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

在 Windows 中：

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

回應看起來類似以下的內容。

```
{
    "Identifier": "db-XXX", 
    "AlignedStartTime": 1556215200.0, 
    "MetricList": [
        {
            "Key": {
                "Metric": "db.load.avg"
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.4878117913832196
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.192823803967328
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/aurora_redo_log_flush"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.1360544217687074
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.058051341890315
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/table/sql/handler"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.16241496598639457
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05163360560093349
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.11479591836734694
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.013127187864644107
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "CPU", 
                    "db.wait_event.name": "CPU"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.05215419501133787
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05805134189031505
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/lock_wait_mutex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.017573696145124718
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.002333722287047841
                }
            ]
        }
    ], 
    "AlignedEndTime": 1556222400.0
} //end of response
```

在此回應中，系統會根據 query.json file.檔案中指定的字符化 SQL AKIAIOSFODNN7EXAMPLE 的影響程度來篩選所有值。此索引鍵遵循的順序可能會與不含篩選條件的查詢不同，因為這是影響篩選 SQL 的前五個等待事件。

## 擷取 SQL 陳述式的完整文字
<a name="USER_PerfInsights.API.Examples.GetDimensionKeyDetails"></a>

下列範例會擷取資料庫執行個體 `db-10BCD2EFGHIJ3KL4M5NO6PQRS5` 之 SQL 陳述式的完整文字。`--group` 即為 `db.sql`，而 `--group-identifier` 即為 `db.sql.id`。在此範例中，*my-sql-id* 代表藉由呼叫 `pi get-resource-metrics` 或 `pi describe-dimension-keys` 擷取的 SQL ID。

執行下列命令。

對於 Linux、macOS 或 Unix：

```
aws pi get-dimension-key-details \
   --service-type RDS \
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \
   --group db.sql \
   --group-identifier my-sql-id \
   --requested-dimensions statement
```

在 Windows 中：

```
aws pi get-dimension-key-details ^
   --service-type RDS ^
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 ^
   --group db.sql ^
   --group-identifier my-sql-id ^
   --requested-dimensions statement
```

在此範例中，維度詳細資訊可供使用。因此，績效詳情會擷取 SQL 陳述式的完整文字，而不會將其截斷。

```
{
    "Dimensions":[
    {
        "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id",
        "Dimension": "db.sql.statement",
        "Status": "AVAILABLE"
    },
    ...
    ]
}
```

## 建立一段時間區間的績效分析報告
<a name="USER_PerfInsights.API.Examples.CreatePerfAnalysisReport"></a>

下列範例會以 `db-loadtest-0` 資料庫的 `1682969503` 開始時間和 `1682979503` 結束時間建立績效分析報告。

```
aws pi create-performance-analysis-report \
        --service-type RDS \
        --identifier db-loadtest-0 \
        --start-time 1682969503 \
        --end-time 1682979503 \
        --region us-west-2
```

回應為 `report-0234d3ed98e28fb17`，是報告的唯一識別碼。

```
{
   "AnalysisReportId": "report-0234d3ed98e28fb17"
}
```

## 擷取績效分析報告
<a name="USER_PerfInsights.API.Examples.GetPerfAnalysisReport"></a>

下列範例擷取 `report-0d99cc91c4422ee61` 報告的分析報告詳細資訊。

```
aws pi get-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

回應提供報告狀態、ID、時間詳細資訊和洞見。

```
        {
    "AnalysisReport": {
        "Status": "Succeeded", 
        "ServiceType": "RDS", 
        "Identifier": "db-loadtest-0", 
        "StartTime": 1680583486.584, 
        "AnalysisReportId": "report-0d99cc91c4422ee61", 
        "EndTime": 1680587086.584, 
        "CreateTime": 1680587087.139, 
        "Insights": [
           ... (Condensed for space)
        ]
    }
}
```

## 列出資料庫執行個體的所有績效分析報告
<a name="USER_PerfInsights.API.Examples.ListPerfAnalysisReports"></a>

下列範例會列出 `db-loadtest-0` 資料庫所有可用的績效分析報告。

```
aws pi list-performance-analysis-reports \
--service-type RDS \
--identifier db-loadtest-0 \
--region us-west-2
```

回應將列出所有報告，其中包含報告 ID，狀態和時間區間的詳細資訊。

```
{
    "AnalysisReports": [
        {
            "Status": "Succeeded", 
            "EndTime": 1680587086.584, 
            "CreationTime": 1680587087.139, 
            "StartTime": 1680583486.584, 
            "AnalysisReportId": "report-0d99cc91c4422ee61"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681491137.914, 
            "CreationTime": 1681491145.973, 
            "StartTime": 1681487537.914, 
            "AnalysisReportId": "report-002633115cc002233"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681493499.849, 
            "CreationTime": 1681493507.762, 
            "StartTime": 1681489899.849, 
            "AnalysisReportId": "report-043b1e006b47246f9"
        }, 
        {
            "Status": "InProgress", 
            "EndTime": 1682979503.0, 
            "CreationTime": 1682979618.994, 
            "StartTime": 1682969503.0, 
            "AnalysisReportId": "report-01ad15f9b88bcbd56"
        }
    ]
}
```

## 刪除績效分析報告
<a name="USER_PerfInsights.API.Examples.DeletePerfAnalysisReport"></a>

下列範例會刪除 `db-loadtest-0` 資料庫的績效分析報告。

```
aws pi delete-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

## 將標籤新增至績效分析報告
<a name="USER_PerfInsights.API.Examples.TagPerfAnalysisReport"></a>

下列範例會將帶有金鑰 `name` 和值 `test-tag` 的標籤新增至 `report-01ad15f9b88bcbd56` 報告。

```
aws pi tag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tags Key=name,Value=test-tag \
--region us-west-2
```

## 列出績效分析報告的所有標籤
<a name="USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport"></a>

下列範例會列出 `report-01ad15f9b88bcbd56` 報告的所有標籤。

```
aws pi list-tags-for-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--region us-west-2
```

回應會列出新增至報告的所有標籤值和金鑰：

```
{
    "Tags": [
        {
            "Value": "test-tag", 
            "Key": "name"
        }
    ]
}
```

## 從績效分析報告中刪除標籤
<a name="USER_PerfInsights.API.Examples.UntagPerfAnalysisReport"></a>

下列範例會從 `report-01ad15f9b88bcbd56` 報告刪除 `name` 標籤。

```
aws pi untag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tag-keys name \
--region us-west-2
```

刪除標籤之後，呼叫 `list-tags-for-resource` API 不會列出此標籤。

# 使用 AWS CloudTrail 記錄績效詳情呼叫
<a name="USER_PerfInsights.CloudTrail"></a>

績效詳情與 AWS CloudTrail 服務搭配運作，此服務會記錄使用者、角色或績效詳情中 AWS 服務所採取的動作。CloudTrail 會將績效詳情的所有 API 呼叫擷取為事件。此擷取包含來自 Amazon RDS 主控台的呼叫，以及從程式碼呼叫到績效詳情 API 操作的呼叫。

如果您建立線索，就可以讓 CloudTrail 事件持續交付至 Amazon S3 儲存貯體，包括績效詳情的事件。即使您未設定權仗，依然可以透過 CloudTrail 主控台中的 **Event history** (事件歷史記錄) 檢視最新事件。使用由 CloudTrail 收集的資訊，您就可以判斷特定詳細資訊。此資訊包括對績效詳情提出的請求、提出請求的 IP 地址、何人提出請求，以及提出請求的時間。此外也包括其他詳細資訊。

若要進一步了解 CloudTrail，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## 在 CloudTrail 中使用績效詳情資訊
<a name="USER_PerfInsights.CloudTrail.service-name-info"></a>

當您建立帳戶時，系統即會在 AWS 帳戶中啟用 CloudTrail。當績效詳情中發生活動時，該活動會記錄在 CloudTrail 事件中，其他 AWS 服務事件則記錄於 CloudTrail 主控台的**事件歷程記錄**中。您可以檢視、搜尋和下載 AWS 帳戶的最新事件。如需更多詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的[使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 AWS 帳戶的事件 (包括績效詳情事件)，請建立線索。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。根據預設，當您在主控台建立線索時，線索會套用到所有 AWS 區域。權杖會記錄來自 AWS 分割區中所有 AWS 區域的事件，然後將記錄檔案交付到您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需更多詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的以下主題：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [從多個區域接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)，以及[從多個帳戶接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有績效詳情操作都是由 CloudTrail 所記錄並記載在[績效詳情 API 參考](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html)中。例如，對 `DescribeDimensionKeys` 和 `GetResourceMetrics` 操作的呼叫都會在 CloudTrail 日誌檔案中產生項目。

每一筆事件或日誌項目都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 該請求是否使用根或 IAM 使用者憑證提出。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 該請求是否由另一項 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity Element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 績效詳情日誌檔案項目
<a name="USER_PerfInsights.CloudTrail.service-name-entries"></a>

*權杖*是一種組態，能讓事件以記錄檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一個或多個日誌項目。**「事件」代表來自任何來源的單一請求。每個事件皆包含請求操作、操作日期和時間、請求參數等相關資訊。CloudTrail 日誌檔案並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

以下範例顯示的 CloudTrail 日誌項目會示範 `GetResourceMetrics` 操作：

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
         "principalId": "AKIAIOSFODNN7EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/johndoe",
        "accountId": "123456789012",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "userName": "johndoe"
    },
    "eventTime": "2019-12-18T19:28:46Z",
    "eventSource": "pi.amazonaws.com",
    "eventName": "GetResourceMetrics",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "72.21.198.67",
    "userAgent": "aws-cli/1.16.240 Python/3.7.4 Darwin/18.7.0 botocore/1.12.230",
    "requestParameters": {
        "identifier": "db-YTDU5J5V66X7CXSCVDFD2V3SZM",
        "metricQueries": [
            {
                "metric": "os.cpuUtilization.user.avg"
            },
            {
                "metric": "os.cpuUtilization.idle.avg"
            }
        ],
        "startTime": "Dec 18, 2019 5:28:46 PM",
        "periodInSeconds": 60,
        "endTime": "Dec 18, 2019 7:28:46 PM",
        "serviceType": "RDS"
    },
    "responseElements": null,
    "requestID": "9ffbe15c-96b5-4fe6-bed9-9fccff1a0525",
    "eventID": "08908de0-2431-4e2e-ba7b-f5424f908433",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

# Performance Insights API 和界面 VPC 端點 (AWS PrivateLink)
<a name="pi-vpc-interface-endpoints"></a>

您可以使用 在 VPC 和 Amazon RDS Performance Insights 之間 AWS PrivateLink 建立私有連線。您可以像在 VPC 中一樣存取績效詳情，無需使用網際網路閘道、NAT 裝置、VPN 連接或 Direct Connect 連線。VPC 中的執行個體無需公有 IP 位址，即可存取 Performance Insights。

您可以建立由 AWS PrivateLink提供支援的*介面端點*來建立此私有連線。我們會在您為介面端點啟用的每個子網中建立端點網路介面。這些是請求者管理的網路界面，可作為目的地為 Performance Insights 之流量的進入點。

如需詳細資訊，請參閱《 *AWS PrivateLink 指南*》中的[AWS 服務 透過 存取 AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) 。

## Performance Insights的考量事項
<a name="vpc-endpoint-considerations"></a>

在您為 Performance Insights 設定界面端點之前，請檢閱《AWS PrivateLink 指南》**中的[考量事項](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints)。

Performance Insights支援透過界面端點呼叫其所有 API 動作。

根據預設，允許透過界面端點完整存取 Performance Insights。若要控制透過界面端點傳輸至 Performance Insights 的流量，請將安全群組與端點網路界面建立關聯。

## 可用性
<a name="rds-and-vpc-interface-endpoints-availability"></a>

Performance Insights API 目前支援支援 Performance Insights AWS 區域 的 中的 VPC 端點。如需 Performance Insights 可用性的詳細資訊，請參閱 [Amazon RDS 中的 Performance Insights 的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)。

## 建立 Performance Insights 的界面端點
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 主控台或 AWS Command Line Interface () 為績效詳情建立介面端點AWS CLI。如需詳細資訊，請參閱《*AWS PrivateLink 指南*》中的「[建立介面端點](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws)」。

使用下列服務名稱為 Performance Insights 建立界面端點：

如果您為該介面端點啟用私有 DNS，您可以使用其區域的預設 DNS 名稱向 Performance Insights 發出 API 要求。例如 `pi.us-east-1.amazonaws.com`。

## 為 Performance Insights API 建立 VPC 端點政策
<a name="vpc-endpoint-policy"></a>

端點政策為 IAM 資源，您可將其連接至介面端點。預設端點政策可允許透過界面端點完整存取 Performance Insights。若要控制 VPC 對 Performance Insights 的存取權限，請將自訂端點政策連接至界面端點。

端點政策會指定以下資訊：
+ 可執行動作 (AWS 帳戶、IAM 使用者和 IAM 角色) 的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

如需詳細資訊，請參閱《*AWS PrivateLink 指南*》中的「[使用端點政策控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」。

**範例：Performance Insights 動作的 VPC 端點政策**  
以下是自訂端點政策的範例。將此政策附加至界面端點後，此政策會針對所有資源上的所有主體，授予列出的 Performance Insights 動作的存取權限。

```
{
   "Statement":[
      {
         "Principal":"*",
         "Effect":"Allow",
         "Action":[
            "rds:CreatePerformanceAnalysisReport",
            "rds:DeletePerformanceAnalysisReport",
            "rds:GetPerformanceAnalysisReport"
         ],
         "Resource":"*"
      }
   ]
}
```

**範例：拒絕來自指定 AWS 帳戶的所有存取的 VPC 端點政策**  
下列 VPC 端點政策拒絕 AWS 使用端點帳戶對資源`123456789012`的所有存取。此政策允許來自其他帳戶的所有動作。

```
{
  "Statement": [
    {
      "Action": "*",
      "Effect": "Allow",
      "Resource": "*",
      "Principal": "*"
    },
    {
      "Action": "*",
      "Effect": "Deny",
      "Resource": "*",
      "Principal": { "AWS": [ "123456789012" ] }
     }
   ]
}
```

## Performance Insights 的 IP 定址
<a name="pi-ip-addressing"></a>

IP 地址可讓您 VPC 中的資源彼此互相通訊，也能和網際網路上的資源通訊。Performance Insights 同時支援 IPv4 和 IPv6 定址通訊協定。預設情況下，Performance Insights 和 Amazon VPC 都使用 IPv4 定址協議。您無法關閉此行為。當您建立 VPC 時，請務必指定 IPv4 CIDR 區塊 (私有 IPv4 地址的範圍)。

您可以選擇將 IPv6 CIDR 區塊指派給 VPC 和子網路，並將 IPv6 位址從該區塊指派給子網路中的 RDS 資源。對 IPv6 通訊協定的支援擴展受支援的 IP 地址的數量。使用 IPv6 通訊協定，您可以確保擁有足夠的可用地址，可應對網際網路的未來發展。新的和現有的 RDS 資源可於您的 VPC 中使用 IPv4 和 IPv6 地址。在應用程式的不同部分中使用的兩個通訊協定之間進行設定、保護和轉譯網路流量可能會造成操作額外負荷。您可在 IPv6 通訊協定上對 Amazon RDS 資源進行標準化，以簡化您的網路組態。如需服務端點和配額的詳細資訊，請參閱 [Amazon Relational Database Service 端點和配額](https://docs.aws.amazon.com/general/latest/gr/rds-service.html)。

如需 Amazon RDS AuroraIP 定址的詳細資訊，請參閱 [Amazon RDS IP 定址](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.IP_addressing)。