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

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

Qpid ใน Apigee

ใน Apigee นั้น Qpid จะใช้ในเวิร์กโฟลว์หลัก 2 เวิร์กโฟลว์ดังนี้

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

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

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

หน่วยความจำ

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

ข้อความในหน่วยความจำนอกฮีปจะยังคงอยู่ในดิสก์ นอกจากนี้ หากการใช้งานหน่วยความจํานอกฮีปทั้งหมดเกินเกณฑ์ที่กำหนด ระบบจะกําหนดค่า 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

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

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

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

ในตัวอย่างนี้ โบรกเกอร์จะปฏิเสธข้อความใหม่เมื่อระบบไฟล์ที่เกี่ยวข้องเต็ม 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-qpidd ของ Apigee-service