本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon CloudWatch 指標分析 Aurora Postgre 的資源用量SQL
Aurora CloudWatch 會在 1 分鐘內自動將指標資料傳送至 。您可以使用 CloudWatch 指標分析 Aurora PostgreSQL 的資源用量。您可以使用指標來評估網路輸送量和網路用量。
使用 評估網路輸送量 CloudWatch
當您的系統用量接近執行個體類型的資源限制時,處理速度可能會變慢。您可以使用 CloudWatch Logs Insights 來監控儲存資源用量,並確保有足夠的資源可用。需要時,您可以將資料庫執行個體修改為更大的執行個體類別。
Aurora 儲存體處理速度可能由於下列原因而變慢:
-
用戶端與資料庫執行個體之間的網路頻寬不足。
-
儲存體子系統的網路頻寬不足。
-
對於您的執行個體類型而言很大的工作負載。
您可以 query CloudWatch Logs Insights 產生 Aurora 儲存資源用量的圖形來監控資源。圖表顯示CPU使用率和指標,協助您決定是否擴展到更大的執行個體大小。如需 for CloudWatch Logs Insights 查詢語法的相關資訊,請參閱 CloudWatch Logs Insights 查詢語法
若要使用 CloudWatch,您需要將 Aurora PostgreSQL 日誌檔案匯出至 CloudWatch。您也可以修改現有的叢集以將日誌匯出至 CloudWatch。如需將日誌匯出至 的資訊 CloudWatch,請參閱 打開將日誌發佈到 Amazon 的選項 CloudWatch。
您需要資料庫執行個體的資源 ID 才能查詢 CloudWatch Logs Insights。Resource ID (資源 ID) 可在主控台的 Configuration (組態) 索引標籤中找到:
若要查詢資源儲存體指標的日誌檔:
在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 CloudWatch 概觀首頁隨即出現。
-
如有需要,請變更 AWS 區域。在導覽列中,選擇 AWS 區域 AWS 資源所在的 。如需詳細資訊,請參閱區域與端點。
-
在導覽窗格中,選擇 Logs (日誌),然後選擇 Logs Insights (日誌洞察)。
Logs Insights (日誌洞察) 頁面即會出現。
-
從下拉式清單選取要分析的日誌檔。
-
在欄位中輸入下列查詢,將
<resource ID>
取代為資料庫叢集的資源 ID:filter @logStream = <resource ID> | parse @message "\"Aurora Storage Daemon\"*memoryUsedPc\":*,\"cpuUsedPc\":*," as a,memoryUsedPc,cpuUsedPc | display memoryUsedPc,cpuUsedPc #| stats avg(xcpu) as avgCpu by bin(5m) | limit 10000
-
按一下 Run query (執行查詢)。
即會顯示儲存體使用率圖形。
下圖提供 Logs Insights (日誌洞察) 頁面和圖形顯示。
使用 CloudWatch指標評估 Aurora PostgreSQL 的資料庫執行個體用量
您可以使用 CloudWatch 指標來監控執行個體輸送量,並探索執行個體類別是否為您的應用程式提供足夠的資源。如需資料庫執行個體類別限制的相關資訊,請前往 Aurora 的資料庫執行個體類別的硬體規格並尋找資料庫執行個體類別的規格,以找出您的網路效能。
如果您的資料庫執行個體用量接近執行個體類別限制,效能可能會開始變慢。這些 CloudWatch 指標可以確認此情況,以便您計劃手動擴展到更大的執行個體類別。
合併下列 CloudWatch 指標值,以了解您是否接近執行個體類別限制:
-
NetworkThroughput – Aurora 資料庫叢集中每個執行個體的用戶端所接收和傳輸的網路輸送量。此輸送量值不包含資料庫叢集中的執行個體與叢集磁碟區之間的網路流量。
-
StorageNetworkThroughput – Aurora 資料庫叢集中每個執行個體接收並傳送至 Aurora 儲存子系統的網路輸送量。
將 NetworkThroughput新增至 StorageNetworkThroughput,以尋找 Aurora 資料庫叢集中每個執行個體從 Aurora 儲存子系統接收並傳送至其中的網路輸送量。執行個體的執行個體類別限制應該大於這兩個合併指標之和。
在傳送和接收時,您可以使用下列指標,來檢閱來自用戶端應用程式之網路流量的其他詳細資訊:
-
NetworkReceiveThroughput – Aurora PostgreSQL 資料庫叢集中每個執行個體從用戶端接收的網路輸送量。此輸送量不包含資料庫叢集中的執行個體與叢集磁碟區之間的網路流量。
-
NetworkTransmitThroughput – Aurora 資料庫叢集中每個執行個體傳送至用戶端的網路輸送量。此輸送量不包含資料庫叢集中的執行個體與叢集磁碟區之間的網路流量。
-
StorageNetworkReceiveThroughput – 資料庫叢集中每個執行個體從 Aurora 儲存子系統接收的網路輸送量。
-
StorageNetworkTransmitThroughput – 資料庫叢集中每個執行個體傳送至 Aurora 儲存子系統的網路輸送量。
將所有這些指標加在一起,以評估您的網路用量與執行個體類別限制的比較情形。執行個體類別限制應該大於這些個合併指標之和。
儲存的網路限制和CPU使用率是相互的。當網路輸送量增加時,CPU使用率也會增加。監控 CPU和 網路用量,提供資源如何用盡和為何用盡的資訊。
若要協助將網路用量降至最低,您可以考慮:
-
使用更大的執行個體類別。
-
使用
pg_partman
分割策略。 -
批次分割寫入要求,以減少整體交易。
-
將唯讀工作負載導向至唯讀執行個體。
-
刪除任何未使用的索引。
-
檢查膨脹的物件 和 VACUUM。如果是嚴重膨脹,請使用 PostgreSQL 延伸模組
pg_repack
。如需 的詳細資訊pg_repack
,請參閱在 PostgreSQL 資料庫中以最少的鎖定重新組織資料表。