Edge สำหรับ Private Cloud เวอร์ชัน 4.52.02 มาพร้อมกับ Qpid Broker-J 8.0.6 หน้านี้อธิบายข้อควรพิจารณาเกี่ยวกับหน่วยความจำและดิสก์สำหรับคอมโพเนนต์ apigee-qpidd
ของ Edge สำหรับ Private Cloud (ที่มีโบรกเกอร์ที่ใช้ Java)
ส่วนด้านล่างใช้กับกรณีการใช้งาน Qpid ของ Apigee โดยเฉพาะ และอธิบายวิธีปรับแต่ง Qpid โดยใช้กลไกการกำหนดค่าของ Apigee
Qpid ใน Apigee
ใน Apigee นั้น Qpid จะใช้ในเวิร์กโฟลว์หลัก 2 เวิร์กโฟลว์ดังนี้
- Analytics
- การสร้างรายได้
ในเวิร์กโฟลว์ทั้งสองนี้ ตัวประมวลผลข้อความจะสร้างข้อความ ซึ่งถูกเก็บรวบรวมเป็นชุดและพุชไปยัง Qpid สำหรับ Analytics ข้อความจะอ่านโดย Qpid-server ส่วนการสร้างรายได้จะอ่านโดยเซิร์ฟเวอร์การให้คะแนน (ซึ่งเป็นส่วนหนึ่งของเซิร์ฟเวอร์การจัดการ) เมื่ออ่านแล้ว ระบบจะเลิกรวมกลุ่มและนำเข้าข้อความเป็นกลุ่ม
การกำหนดค่าที่แนะนำ
ส่วนต่อไปนี้จะอธิบายการกำหนดค่าที่แนะนำสำหรับหน่วยความจำและดิสก์ที่มี Qpid การกำหนดค่าเหล่านี้อิงตามข้อความเดียวขนาด 2 KB สำหรับ Analytics หรือการสร้างรายได้ ด้วยขนาดกลุ่มเริ่มต้น 50 ข้อความใน Qpid จะมีขนาดประมาณ 100 KB Apigee ช่วยให้พร็อกซีแก้ไขและเพิ่มข้อมูลเพิ่มเติมในข้อความได้ (Analytics หรือการสร้างรายได้) ในกรณีร้ายแรง การเปลี่ยนแปลงนี้อาจทำให้ขนาดของข้อความเดียวและข้อความแบบกลุ่มโดยรวมใน 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
- สร้างหรือแก้ไขไฟล์ต่อไปนี้
$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
- รีสตาร์ทกระบวนการ
qpidd
:รีสตาร์ท apigee-qpidd ของ apigee-service