ใน Edge for Private Cloud 4.54.00 (ซึ่งทำงานบน Java 21) Message Processor จะใช้ Garbage-First Garbage Collector (G1GC) โดยค่าเริ่มต้น เอกสารนี้อธิบายวิธีกำหนดค่าและยืนยันการตั้งค่าการเก็บกวาดหน่วยความจำบน Message Processor
ปรับแต่ง Garbage Collector ใน Message Processor
ส่วนนี้จะอธิบายขั้นตอนการกำหนดค่าการตั้งค่า Garbage Collection (GC) ทางเลือกใน Edge Message Processor คุณจัดการพารามิเตอร์ GC ได้โดยการอัปเดตพร็อพเพอร์ตี้ GC ใน Message Processor หากต้องการปรับ พร็อพเพอร์ตี้การกำหนดค่า ให้ใช้ไวยากรณ์โทเค็นที่กำหนดไว้ใน วิธีกำหนดค่า Edge
หากต้องการแก้ไขการตั้งค่า GC ใน Message Processor ให้ทำตามขั้นตอนต่อไปนี้
ตรวจสอบพร็อพเพอร์ตี้ GC
ขั้นตอนต่อไปนี้อธิบายวิธีตรวจสอบพร็อพเพอร์ตี้ GC ที่กำหนดค่าไว้
-
ค้นหาพร็อพเพอร์ตี้ GC ในไดเรกทอรีต้นทางของ Message Processor
/opt/apigee/edge-message-processor/sourceโดยใช้คำสั่งต่อไปนี้grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
ยืนยันว่าเอาต์พุตของคำสั่งนี้แสดงการกำหนดค่าพร็อพเพอร์ตี้ GC
สำหรับ Message Processor
/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useZGC={T}conf_system_useZGC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}สตริงระหว่างแท็ก
{T}{/T}คือชื่อของพร็อพเพอร์ตี้ที่คุณตั้งค่าได้ในไฟล์.propertiesของ Message Processor
แก้ไข GC ใน Message Processor
ขั้นตอนต่อไปนี้อธิบายวิธีแก้ไขการตั้งค่า GC ใน Apigee Message Processor
-
เปิดไฟล์
/opt/apigee/customer/application/message-processor.propertiesในเครื่อง Message Processor ในโปรแกรมแก้ไข หากไฟล์ยังไม่มี ให้สร้างไฟล์ เช่นvi /opt/apigee/customer/application/message-processor.properties
-
เพิ่มบรรทัดการกำหนดค่า GC ที่ต้องการตามโปรไฟล์เป้าหมาย
-
ตัวเลือก ก.: ใช้ G1GC เป็น Garbage Collector เริ่มต้นพร้อมกับการแก้ไขบางอย่าง
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
ตัวเลือก ข.: เปิดใช้ Generational ZGC (ไม่บังคับสำหรับการติดตั้งใช้งานที่มีเวลาในการตอบสนองต่ำมาก
):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
ตัวเลือก ค.: เปิดใช้การตั้งค่า GC ทั่วไป
ตั้งค่า
bin_setenv_ext_jvm_optsในไฟล์ลบล้าง.propertiesของคอมโพเนนต์ (/opt/apigee/customer/application/message-processor.properties) เพื่อกำหนดค่าพร็อพเพอร์ตี้ GC ทั่วไป แล้วรีสตาร์ท คอมโพเนนต์ เช่นconf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
ตัวเลือก ก.: ใช้ G1GC เป็น Garbage Collector เริ่มต้นพร้อมกับการแก้ไขบางอย่าง
- บันทึกการเปลี่ยนแปลง
-
ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้
apigeeเช่นchown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
รีสตาร์ท Message Processor โดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- หากมี Message Processor มากกว่า 1 รายการ ให้ทำตามขั้นตอนเหล่านี้ซ้ำใน Message Processor ทั้งหมด
อัปเดตการกรองข้อมูลที่ซ้ำกันออกของสตริง
โดยค่าเริ่มต้น การกำหนดค่า G1GC จะตั้งค่า UseStringDeduplication เป็น
true ซึ่งจะเพิ่มประสิทธิภาพการจัดสรรหน่วยความจำฮีปของ Java โดยอนุญาตให้
ค่า String ที่เหมือนกันแชร์อาร์เรย์อักขระเดียว หากต้องการปิดใช้การลดความซ้ำซ้อนของสตริง ให้ตั้งค่า
conf_system_useStringDeduplication=false ใน
/opt/apigee/customer/application/message-processor.properties แล้วรีสตาร์ท Message Processor ตามที่อธิบายไว้ใน
แก้ไข GC ใน Message Processor
การยืนยันการกำหนดค่า GC ใน Message Processor
วิธียืนยันว่าการเปลี่ยนแปลงการกำหนดค่า GC มีผลกับ Message Processor แล้ว
-
ค้นหาพร็อพเพอร์ตี้ GC ใน
/opt/apigee/edge-message-processor/confไดเรกทอรี และตรวจสอบ ว่าได้ตั้งค่าด้วยค่าใหม่แล้ว เช่นgrep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
ตรวจสอบว่า
/opt/apigee/edge-message-processor/conf/system.propertiesแสดงค่าที่คุณกำหนดค่าใหม่ เช่น การตั้งค่า Apigee Default GC จะแสดงดังนี้/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true /opt/apigee/edge-message-processor/conf/system.properties:useZGC=false /opt/apigee/edge-message-processor/conf/system.properties:g1gc.maxGCPauseMillis=200 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.initiatingHeapOccupancyPercent=45 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.g1ReservePercent=15 /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
-
ตรวจสอบว่ากระบวนการ JVM ของ Message Processor ที่ทำงานอยู่เริ่มต้นด้วยแฟล็กที่คาดไว้
-XX:ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
สำหรับ Apigee Default G1GC ให้ยืนยันว่าบรรทัดคำสั่ง
มี:
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
สำหรับ Generational ZGC ให้ยืนยันว่าบรรทัดคำสั่งมี:
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
สำหรับ Apigee Default G1GC ให้ยืนยันว่าบรรทัดคำสั่ง
มี:
- หากยังกำหนดค่าการตั้งค่า GC ไม่ได้ โปรดติดต่อ ทีมสนับสนุนของ Apigee Edge