คู่มือการดำเนินการ QPID

Edge for Private Cloud เวอร์ชัน 4.54.00 มาพร้อมกับ Qpid Broker-J 10.0.1 หน้านี้อธิบายข้อควรพิจารณาเกี่ยวกับหน่วยความจำและดิสก์สำหรับคอมโพเนนต์ apigee-qpidd ของ Edge for Private Cloud (ที่มี Broker ที่ใช้ Java) ส่วนด้านล่างนี้ใช้ได้กับกรณีการใช้งาน Qpid ของ Apigee โดยเฉพาะ และอธิบายวิธีปรับแต่ง Qpid โดยใช้กลไกการกำหนดค่าของ Apigee

Qpid ใน Apigee

ใน Apigee ระบบจะใช้ Qpid ในเวิร์กโฟลว์หลัก 2 รายการ ได้แก่

  • Analytics
  • การสร้างรายได้

ในเวิร์กโฟลว์ทั้ง 2 รายการนี้ Message Processor จะสร้างข้อความ ซึ่งจะ รวบรวมเป็นกลุ่มและส่งไปยัง Qpid สำหรับ Analytics, Qpid-server จะอ่านข้อความ ส่วนการสร้างรายได้นั้น Rating Server (ซึ่งเป็นส่วนหนึ่งของ Management Server) จะอ่านข้อความ เมื่ออ่านแล้ว ระบบจะแยกข้อความที่จัดกลุ่มไว้ออกและนำเข้า

ส่วนต่อไปนี้อธิบายการกำหนดค่าที่แนะนำสำหรับหน่วยความจำและดิสก์ด้วย Qpid การกำหนดค่าเหล่านี้อิงตามขนาดข้อความเดียวที่ 2 KB สำหรับ Analytics หรือ การสร้างรายได้ เมื่อขนาดกลุ่มเริ่มต้นอยู่ที่ 50 ข้อความแต่ละข้อความใน Qpid จะมีขนาดประมาณ 100 KB Apigee อนุญาตให้พร็อกซีแก้ไขและเพิ่มข้อมูลลงในข้อความ (Analytics หรือการสร้างรายได้) ในกรณีที่รุนแรง การดำเนินการนี้อาจเปลี่ยนขนาดของข้อความเดียวและข้อความที่จัดกลุ่มโดยรวมใน Qpid อย่างมาก แม้ว่าคำแนะนำทั่วไป เกี่ยวกับหน่วยความจำและดิสก์ในส่วนด้านล่างนี้จะยังคงใช้ได้แม้ในกรณีดังกล่าว แต่คุณอาจต้องทำการปรับแต่งเพิ่มเติมใน Qpid เพื่อให้การทำงานเป็นไปอย่างราบรื่น

หน่วยความจำ

Qpid Broker ใช้หน่วยความจำ 2 ประเภท ได้แก่ หน่วยความจำนอกฮีปและหน่วยความจำฮีป Qpid จะจัดเก็บข้อความไว้ในหน่วยความจำนอกฮีป และใช้หน่วยความจำฮีปสำหรับงานภายในของตัวเอง ข้อความโดยตรงไปยังคิวและการแลกเปลี่ยน ฯลฯ ในสถานการณ์ส่วนใหญ่ Apigee แนะนำให้คุณรักษาสัดส่วนระหว่างหน่วยความจำนอกฮีปและหน่วยความจำฮีปสำหรับ Qpid Broker ไว้ที่ 3:1

ข้อความในหน่วยความจำนอกฮีปจะยังคงอยู่ในดิสก์ นอกจากนี้ หากการใช้งานหน่วยความจำนอกฮีปทั้งหมด เกินเกณฑ์ที่กำหนด ระบบจะกำหนดค่า Qpid ให้ส่งข้อความไปยังดิสก์

โดยค่าเริ่มต้น Apigee จะคำนวณหน่วยความจำฮีปและหน่วยความจำนอกฮีปของ Qpid Broker ตามหน่วยความจำที่มีอยู่ ในโหนด สคริปต์ของ Apigee มีขีดจำกัดแบบยืดหยุ่นที่ 4 GB สำหรับหน่วยความจำฮีปและ หน่วยความจำนอกฮีปของ Qpid Broker รวมกัน หากต้องการลบล้างขีดจำกัดเหล่านี้ คุณสามารถใช้การกำหนดค่า 2 รายการ ด้านล่างเพื่อตั้งค่าหน่วยความจำฮีปและหน่วยความจำนอกฮีปของ Qpid เอง

  • การกำหนดค่าสำหรับหน่วยความจำฮีป: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • การกำหนดค่าสำหรับหน่วยความจำนอกฮีป: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

ดูข้อมูลเกี่ยวกับวิธีลบล้างการกำหนดค่าได้ที่ วิธีเปลี่ยนการกำหนดค่า Qpid สำหรับ

ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลอ้างอิงหน่วยความจำของ Apache Qpid

ดิสก์

ไดเรกทอรีข้อมูลของ Qpid Broker คือ $APIGEE_ROOT/data/apigee-qpidd ส่วนบันทึกของ Qpid Broker จะจัดเก็บไว้ใน $APIGEE_ROOT/var/log/apigee-qpidd

ประสิทธิภาพของระบบไฟล์ที่โฮสต์ไดเรกทอรีข้อมูลเป็นปัจจัยสำคัญต่อประสิทธิภาพของ Broker โดยรวม เลือกอุปกรณ์ที่มีเวลาในการตอบสนองต่ำและแอปพลิเคชันอื่นๆ ไม่ได้ใช้งานเพื่อประสิทธิภาพสูงสุด

Qpid Broker จะเก็บข้อความไว้ในไดเรกทอรีข้อมูล โดยค่าเริ่มต้น Broker จะยอมรับ ข้อความจนกว่าระบบไฟล์ที่โฮสต์ไดเรกทอรีข้อมูลจะเต็ม 80% คุณสามารถแก้ไขเกณฑ์ นี้ได้โดยการลบล้างการกำหนดค่าที่แสดงในตัวอย่างด้านล่างในแต่ละโหนด Qpid

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

ในตัวอย่างนี้ Broker จะปฏิเสธข้อความใหม่เมื่อระบบไฟล์พื้นฐานเต็ม 60%

วิธีเปลี่ยนการกำหนดค่า Qpid

วิธีเปลี่ยนการกำหนดค่า Qpid

  1. สร้างหรือแก้ไขไฟล์ต่อไปนี้
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. เพิ่ม นำออก หรือแก้ไขการกำหนดค่าตามความจำเป็น เช่น หากต้องการเปลี่ยนหน่วยความจำฮีปสูงสุดของ Qpid Broker เป็น 6 GB ให้เพิ่มการลบล้างการกำหนดค่า ต่อไปนี้ในไฟล์
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. บันทึกการเปลี่ยนแปลงและตรวจสอบว่าผู้ใช้ apigee เป็นเจ้าของและอ่านไฟล์ได้
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. รีสตาร์ทกระบวนการ qpidd
    apigee-service apigee-qpidd restart