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