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

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

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

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

ลายป้องกัน

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

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

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

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

มีอิทธิพล

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

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

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

      หรือ

    • การบีบอัดข้อมูล

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