效能樹狀結構

範圍

下圖旨在提供疑難排解效能問題所需步驟的指引。 為了方便閱讀,它分為五個區段。

圖表中的每個步驟都連結到檔案資源或建議。

必要條件和假設

假設是在指定頁面(AEM主控台或網頁)上發現效能問題,且可一致地重現。 在開始調查之前,必須先測試或監控效能。

分析從步驟0開始。 目標是要判斷哪個實體(Dispatcher、外部主機或AEM)應該對效能問題負責,然後判斷應該調查哪個區域(伺服器或網路)。

區段 1

chlimage_1-103

區段 2

chlimage_1-104

區段 3

chlimage_1-105

區段 4

chlimage_1-106

區段 5

chlimage_1-107

步驟 標題 資源
步驟 0 分析請求流程

您可以在瀏覽器中使用標準HTTP請求分析來分析請求流程。 如需如何在Chrome上執行此分析的詳細資訊,請參閱:

https://developer.chrome.com/docs/devtools/

步驟 2 請求是否來自外部主機? 您可以在瀏覽器中使用標準HTTP請求分析來分析請求流程。 請參閱上述連結,瞭解如何在Chrome上執行此分析。
步驟 3 可以快取要求嗎? 如需可快取請求的詳細資訊和一般Dispatcher效能最佳化建議,請參閱 Dispatcher效能最佳化.
步驟 4 是否來自Dispatcher的請求?

若要檢視請求是否已正確快取,請檢查 Dispatcher偵錯檔案.

步驟 5 Dispatcher是否嘗試透過AEM驗證每個請求? 檢查Dispatcher是否傳送 HEAD 傳送快取的資源之前,會向AEM要求驗證。 尋找 HEAD AEM中的請求 access.log. 如需詳細資訊,請參閱 記錄.
步驟 6 Dispatcher的地理位置是否遠離使用者? 將Dispatcher移到離使用者更近的地方。
步驟 7 Dispatcher的網路層是否正常?
調查網路層的飽和度和延遲問題。

步驟 8 緩慢是否可在本機執行個體中重現?

使用 艱難的一天 從生產執行個體複製「真實世界」條件。 如果這種情形不適合您的開發空間,請務必在不同網路內容中測試生產執行個體(或相同的測試執行個體)。

步驟 9 伺服器的地理位置是否遠離使用者? 將伺服器移到離使用者更近的地方。
步驟10和29 調查網路層

調查網路層的飽和度和延遲問題。

對於製作階層,建議延遲時間不要超過100毫秒。

如需效能最佳化秘訣的詳細資訊,請參閱 此頁面.

步驟 11 將伺服器移到更近的位置,或為每個區域新增一個伺服器
步驟 12 疑難排解AEM伺服器 如需詳細資訊,請檢視圖表中的以下子步驟。
步驟 13 檢查硬體需求 請檢視以下專案的檔案: 硬體大小調整准則.
步驟 14 檢查效能問題的常見原因
步驟 15 尋找緩慢的請求

您可以透過分析 request.log 或透過使用 rlog.jar.

如需有關使用rlog.jar的詳細資訊,請參閱此頁面。

另請參閱 使用rlog.jar尋找具有長持續時間的請求.

步驟 16 設定檔伺服器

如需可搭配AEM使用的效能分析工具的相關資訊,請參閱 監控和分析效能的工具.

步驟 17 尋找效能分析中的慢速方法
步驟 18 設定檔的常見案例 另請參閱 分析特定案例 效能最佳化區段中的。
步驟 19 100% CPU https://experienceleague.adobe.com/docs/experience-manager-release-information/aem-release-updates/previous-updates/aem-previous-versions.html?lang=zh-Hant
步驟 20 記憶體不足
  1. 記憶體不足
  2. 我的應用程式擲回記憶體不足錯誤
  3. 分析記憶體問題。
步驟 21 磁碟I/O

請參閱 磁碟I/O 區段建立連結。

步驟22和22.1 快取比率 另請參閱 計算Dispatcher快取比率.

步驟 23 查詢速度緩慢 查詢和建立索引的最佳實務
步驟 24 儲存庫調整
步驟 25 工作流程執行中

步驟 26 MSM基礎結構

多站台管理員最佳作法

步驟 27 資產調整
  1. Assets同步服務
  2. 多個DAM例項
  3. 效能調整提示文章 此處.
步驟 28 未關閉的工作階段

檢查未關閉的JCR工作階段

步驟 30 將Dispatcher靠近一點(針對每個「地區」新增一個?)
步驟 31 在Dispatcher之前使用CDN 搭配 CDN 使用 Dispatcher
步驟 32 若要解除安裝AEM伺服器,請使用Dispatcher層級的工作階段管理

啟用安全工作階段

步驟 33 讓請求可快取
  1. 一般Dispatcher設定
  2. 設定Dispatcher快取

如何改善快取比率;使請求可快取(Dispatcher最佳實務)

此外,請考慮以下設定以最佳化您的快取設定

  1. 為非GET的HTTP要求設定無快取規則
  2. 設定查詢字串為不可快取
  3. 不要快取缺少副檔名的URL
  4. 快取驗證標頭(自Dispatcher版本4.1.10起可能提供)
步驟 34 升級Dispatcher版本

您可以在此位置下載最新的Dispatcher版本:

關注連結

步驟 35 設定 Dispatcher 設定Dispatcher
步驟 36 檢查快取失效
步驟37和38 延遲載入 請參閱AEM Web效能的Gem研討會。
步驟 39 使用預先連線來減少連線額外負荷 請參閱上述Gem課程。 此外,W3c上的其他預先連線說明檔案: https://html.spec.whatwg.org/#linkTypes
步驟40和41
外部主機延遲和回應時間 調查外部主機的延遲和回應時間。
步驟45
和47

使用HTTP/2 如需步驟37、38和39,請參閱Gem研討會。 另外,請出庫 支援HTTP/2的論壇貼文。
步驟 49 壓縮裝載大小 啟用Gzip縮小影像大小.
步驟42和43 保持連線

Keep-Alive 標題存在於重複使用連線的不同請求中嗎? 否則,這表示每個請求都會導致另一個連線建立,這會造成不必要的額外負荷。 (瀏覽器中的標準HTTP請求分析)

您可以檢查 Proxy伺服器工具 以檢查保持連線連線。

步驟 44 提出多少要求? 在瀏覽器中執行標準HTTP要求分析。
步驟 46 減少請求數量
  1. 串連資源(影像、CSS精靈、JSON)
  2. Clientlibs內嵌:
    1. 建立使用者端資料庫資料夾 — 請參閱標題使用內嵌將請求最小化
步驟 48 裝載的大小為何? 瀏覽器中的標準HTTP請求分析
步驟50和51 JS程式碼封鎖 https://experienceleague.adobe.com/docs/experience-manager-gems-events/gems/gems2016/aem-web-performance.html?lang=zh-Hant

本頁內容