效能樹狀結構 performance-tree

範圍 scope

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

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

必要條件和假設 prerequisites-and-assumptions

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

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

區段 1 section

chlimage_1-103

區段 2 section-1

chlimage_1-104

區段 3 section-2

chlimage_1-105

區段 4 section-3

chlimage_1-106

區段 5 section-4

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. 資產同步處理服務
  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
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2