Antipattern: จัดเก็บข้อมูลที่มีขนาดใหญ่กว่า 256 KB ในแคช

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

Apigee Edge มีความสามารถในการจัดเก็บข้อมูลไว้ในแคชขณะรันไทม์เพื่อความคงทนและการดึงข้อมูลที่รวดเร็วขึ้น

  • ระบบจะจัดเก็บข้อมูลไว้ในแคชในหน่วยความจำของ Message Processor ซึ่งเรียกว่า แคช L1 ในตอนแรก
  • แคช L1 ถูกจำกัดด้วยปริมาณหน่วยความจำที่สงวนไว้สำหรับแคชดังกล่าวเป็นเปอร์เซ็นต์ของหน่วยความจำ JVM
  • จากนั้นระบบจะเก็บรายการที่แคชไว้ไว้ใน แคช L2 ซึ่ง Message Processors ทั้งหมดเข้าถึงได้ ดูรายละเอียดเพิ่มเติมได้ในส่วนด้านล่าง
  • แคช L2 ไม่มีการจำกัดจำนวนรายการแคชอย่างชัดเจน แต่ ขนาด สูงสุดของรายการที่แคชได้จะจำกัดไว้ที่ 256 KB ขนาดแคช 256 KB เป็นขนาดที่ แนะนำเพื่อให้ได้ประสิทธิภาพสูงสุด

รูปแบบที่ไม่แนะนำ

รูปแบบที่ไม่แนะนำนี้จะพูดถึงผลกระทบของการเกินข้อจำกัดด้านขนาดแคชปัจจุบันภายในแพลตฟอร์ม Apigee Edge

เมื่อแคชข้อมูลที่มีขนาด > 256 KB ผลที่ตามมาจะมีดังนี้

  • คำขอ API ที่ดำเนินการเป็นครั้งแรกใน Message Processor แต่ละรายการจะต้องรับ ข้อมูลจากแหล่งที่มาเดิม (นโยบายหรือเซิร์ฟเวอร์เป้าหมาย) แยกกัน เนื่องจากรายการที่มีขนาด > 256 KB จะไม่พร้อมใช้งานในแคช L2
  • การจัดเก็บข้อมูลขนาดใหญ่ (> 256 KB) ไว้ในแคช L1 มีแนวโน้มที่จะเพิ่มภาระให้กับทรัพยากรของแพลตฟอร์ม ทรัพยากร ซึ่งจะทำให้หน่วยความจำแคช L1 เต็มเร็วขึ้นและมีพื้นที่ว่างสำหรับข้อมูลอื่นๆ น้อยลง ด้วยเหตุนี้ คุณจึงไม่สามารถแคชข้อมูลได้อย่างเต็มที่ตามที่ต้องการ
  • ระบบจะนำรายการที่แคชไว้จาก Message Processor ออกเมื่อถึงขีดจำกัดจำนวนรายการ ซึ่งจะทำให้ต้องดึงข้อมูลจากแหล่งที่มาเดิมอีกครั้งใน Message Processor ที่เกี่ยวข้อง

แผนภาพ 2 แผน
  1 รายการสำหรับขนาด<=256 KB ที่แสดงโฟลว์ระหว่างพร็อกซี API กับตัวประมวลผลข้อความ
  และโฟลว์ระหว่างตัวประมวลผลข้อความกับแคช L2 ของที่เก็บข้อมูลแบบถาวร 1 รายการสำหรับขนาด> 256 KB ที่แสดงโฟลว์ระหว่างพร็อกซี API กับตัวประมวลผลข้อความ และโฟลว์ระหว่างตัวประมวลผลข้อความกับข้อมูล/การตอบกลับที่ไม่ได้จัดเก็บไว้ในแคช L2

ผลกระทบ

  • ระบบจะไม่จัดเก็บข้อมูลที่มีขนาด > 256 KB ไว้ในแคช L2/แคชถาวร
  • การเรียกแหล่งที่มาเดิม (นโยบายหรือเซิร์ฟเวอร์เป้าหมาย) บ่อยขึ้นจะทำให้ คำขอ API มีเวลาในการตอบสนองเพิ่มขึ้น

แนวทางปฏิบัติแนะนำ

  • เราขอแนะนำให้จัดเก็บข้อมูลที่มีขนาด < 256 KB ไว้ในแคชเพื่อให้ได้ประสิทธิภาพสูงสุด
  • หากต้องการจัดเก็บข้อมูลที่มีขนาด > 256 KB ให้พิจารณาดังนี้
    • ใช้ฐานข้อมูลที่เหมาะสมเพื่อจัดเก็บข้อมูลขนาดใหญ่

      หรือ

    • บีบอัดข้อมูล

อ่านเพิ่มเติม