反模式:在快取中儲存超過 256 KB 的資料

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

Apigee Edge 可將資料儲存在執行階段的快取中,以便保存資料並加快擷取速度。

  • 資料最初會儲存在訊息處理器的記憶體內快取中,稱為「L1 快取」
  • L1 快取有一定百分比的 JVM 記憶體用量,受限於保留的記憶體容量。
  • 快取項目之後會保存在 L2 快取中,所有訊息處理器都可以存取。詳情請參閱下節說明。
  • L2 快取沒有固定的快取項目數量限制,但可快取的項目大小上限為 256 KB。為獲得最佳效能,建議使用 256 KB 的快取大小。

反模式

這個特定反模式說明在 Apigee Edge 平台中超過目前快取大小限制可能會造成的影響。

如果快取的資料量超過 256 KB,則結果如下:

  • 由於 L2 快取不支援超過 256 KB 的項目,因此每個訊息處理器首次執行的 API 要求,必須獨立從原始來源 (政策或目標伺服器) 取得資料。
  • 在 L1 快取中儲存較大的資料 (超過 256 KB) 會讓平台資源承受較大壓力。這麼做可加快 L1 快取記憶體的填入速度,進而減少可供其他資料使用的空間。因此,管理員無法像預期一樣積極快取資料。
  • 達到項目數量上限時,系統會移除訊息處理器中的快取項目。這會再次在個別訊息處理器上從原始來源擷取資料。

兩張流程圖。一種大小為<=256 KB 的資料,其中顯示 API Proxy 與訊息處理器之間的流量,以及訊息處理器和永久儲存空間 L2 快取之間的流程。一個大小超過 256 KB 顯示 API Proxy 與訊息處理器之間的流程,以及訊息處理器和資料/回應未儲存在 L2 快取中的流程。

影響

  • 大小超過 256 KB 的資料不會儲存在 L2/永久快取中。
  • 頻繁呼叫原始來源 (政策或目標伺服器) 會導致 API 要求的延遲時間增加。

最佳做法

  • 建議在快取中儲存大小小於 256 KB 的資料,以達到最佳效能。
  • 如果需要儲存超過 256 KB 的資料,請考慮以下幾點:
    • 使用任何合適的資料庫儲存大型資料

    • 壓縮資料

其他資訊