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

您目前查看的是 ApigeeApigee Hybrid 說明文件。
查看 Apigee Edge 說明文件。

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

  • 資料一開始會儲存在訊息處理器的記憶體內快取中,也就是 L1 快取
  • L1 快取會受到為其保留的記憶體量限制,該記憶體量是 JVM 記憶體的百分比。
  • 快取項目隨後會保留在 L2 快取中,所有訊息處理器都能存取。詳情請參閱下方章節。
  • L2 快取項目數量沒有硬性限制,但可快取的項目大小上限為 256 KB。建議快取大小為 256 KB,可發揮最佳效能。

反模式

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

如果快取的資料大於 256 KB,會造成下列影響:

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

兩張流程圖。
  其中一個適用於大小<=512KB,顯示 API Proxy 和 Message Processor 之間的流程,以及 Message Processor 和 Persistent Storage L2 快取之間的流程。一個適用於大小> 512 KB,顯示 API Proxy 與訊息處理器之間的流程,以及訊息處理器與未儲存在 L2 快取中的資料/回應之間的流程。

影響

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

最佳做法

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

      OR

    • 壓縮資料

延伸閱讀