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

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

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

  • 資料一開始會儲存在訊息處理器的記憶體內快取中,也就是 L1 快取
  • L1 快取的限制取決於為其保留的記憶體量,以 JVM 記憶體的百分比表示。
  • 快取的項目稍後會保留在 L2 快取中,所有訊息處理器都可以存取。詳情請參閱下文。
  • L2 快取對快取項目數量沒有任何硬性限制,但可快取的項目最大大小則限制為 256 KB。為達到最佳效能,建議您使用 256 KB 的快取大小。

反模式

這個反模式會說明在 Apigee Edge 平台中,超出目前快取大小限制的影響。

快取的資料大於 256 KB 時,會導致以下後果:

  • 在每個訊息處理器上首次執行的 API 要求,需要從原始來源 (政策或目標伺服器) 獨立取得資料,因為 L2 快取中不支援超過 256 KB 的項目。
  • 在 L1 快取中儲存較大的資料 (大於 256 KB) 會對平台資源造成更大的壓力。這會導致 L1 快取記憶體更快地被填滿,因此可用於其他資料的空間會變少。因此,您無法盡可能積極地快取資料。
  • 當達到項目數量上限時,系統就會移除 Message Processor 中的快取項目。這會導致在各個訊息處理器上再次從原始來源擷取資料。

兩個流程圖。一個是大小介於 256 KB 以下的資料,可顯示 API Proxy 和 Message Processor 之間的流量,以及 Message Processor 和持久性儲存空間 L2 快取之間的流量。一個是大小大於 256 KB,顯示 API Proxy 和 Message Processor 之間的流量,以及 Message Processor 和 Data/Response 之間的流量,而這兩者都不會儲存在 L2 快取中。

影響

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

最佳做法

  • 建議您將大小小於 256 KB 的資料儲存在快取中,以獲得最佳效能。
  • 如果需要儲存的資料大於 256 KB,請考慮以下做法:
    • 使用任何適當的資料庫儲存大量資料

    • 壓縮資料

延伸閱讀