คุณอาจต้องเปลี่ยนขนาดหน่วยความจำฮีป หรือขนาดข้อมูลเมตาของคลาสสำหรับโหนดที่เรียกใช้คอมโพเนนต์ Private Cloud ที่ใช้ Java ทั้งนี้ขึ้นอยู่กับข้อกำหนดด้านการเข้าชมและการประมวลผล
ส่วนนี้จะแสดงขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำของ Java รวมถึงกระบวนการเปลี่ยนค่าเริ่มต้น และสุดท้าย ส่วนนี้จะอธิบายวิธีเปลี่ยนการตั้งค่า JVM อื่นๆ โดยใช้ไฟล์พร็อพเพอร์ตี้
ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ
ตารางต่อไปนี้แสดงขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำของ Java สำหรับคอมโพเนนต์ Private Cloud ที่ใช้ Java
| ส่วนประกอบ | ชื่อไฟล์พร็อพเพอร์ตี้ | ค่าเริ่มต้น ขนาดฮีป |
ค่าที่แนะนำ ขนาดฮีป |
|---|---|---|---|
| รันไทม์ | |||
| Cassandra | ไม่มี | กำหนดค่าโดยอัตโนมัติ1 | กำหนดค่าโดยอัตโนมัติ1 |
| Message Processor | message‑processor.properties |
512MB | 3GB - 6GB2 |
| เราเตอร์ | router.properties |
512MB | 512MB |
| Analytics | |||
| เซิร์ฟเวอร์ Postgres | postgres‑server.properties |
512MB | 512MB |
| เซิร์ฟเวอร์ Qpid | qpid‑server.properties |
512MB | 2GB - 4GB |
| การจัดการ | |||
| เซิร์ฟเวอร์การจัดการ | management‑server.properties |
512MB | 512MB |
UI ของ Edge ใหม่ (edge-management-ui) |
ไม่มี | แอปที่มาพร้อมเครื่อง3 | แอปที่มาพร้อมเครื่อง3 |
| SymasLDAP | ไม่มี | แอปที่มาพร้อมเครื่อง3 | แอปที่มาพร้อมเครื่อง3 |
| Zookeeper | zookeeper.properties |
2048MB | 2048MB |
| หมายเหตุ | |||
1 Cassandra จะคำนวณขนาดฮีปสูงสุดแบบไดนามิกเมื่อ เริ่มต้นระบบ ปัจจุบัน ขนาดฮีปสูงสุดคือครึ่งหนึ่งของหน่วยความจำระบบทั้งหมด โดยมีขนาดสูงสุด 8192 MB ดูข้อมูลเกี่ยวกับการตั้งค่าขนาดฮีปได้ที่ เปลี่ยนขนาดหน่วยความจำ ฮีป |
|||
| 2 สำหรับ Message Processor นั้น Apigee แนะนำให้ตั้งค่าขนาดฮีป
ไว้ระหว่าง 3 GB ถึง 6 GB และให้เพิ่มขนาดฮีปให้มากกว่า 6 GB หลังจากทำการทดสอบประสิทธิภาพแล้วเท่านั้น
หากการใช้ฮีปใกล้ถึงขีดจำกัดสูงสุดระหว่างการทดสอบประสิทธิภาพ ให้เพิ่ม ขีดจำกัดสูงสุด ดูข้อมูลเกี่ยวกับการตั้งค่าขนาดฮีปได้ที่ เปลี่ยนขนาดหน่วยความจำฮีป |
|||
| 3 คอมโพเนนต์ Private Cloud บางรายการไม่ได้ใช้งานใน Java เนื่องจาก ไม่ได้ใช้ Java เป็นหลัก แอปที่ทำงานแบบเนทีฟบนแพลตฟอร์มโฮสต์จึงไม่มี ขนาดฮีปของ Java ที่กำหนดค่าได้ แต่จะอาศัยระบบโฮสต์ในการจัดการหน่วยความจำ แทน | |||
หากต้องการทราบจำนวนหน่วยความจำทั้งหมดที่ Apigee แนะนำให้จัดสรรให้กับคอมโพเนนต์ที่ใช้ Java บนโหนด ให้รวมค่าที่แสดงไว้ข้างต้นสำหรับคอมโพเนนต์แต่ละรายการในโหนดนั้น ตัวอย่างเช่น หาก โหนดโฮสต์ทั้งเซิร์ฟเวอร์ Postgres และ Qpid, Apigee แนะนำให้จัดสรรหน่วยความจำรวม ไว้ระหว่าง 2.5 GB ถึง 4.5 GB
ดูรายการฮาร์ดแวร์ที่จำเป็น (เช่น RAM) ได้ที่ ข้อกำหนดในการติดตั้ง
เปลี่ยนขนาดหน่วยความจำฮีป
หากต้องการเปลี่ยนการตั้งค่าหน่วยความจำฮีป ให้แก้ไขไฟล์พร็อพเพอร์ตี้ของคอมโพเนนต์ เช่น หากต้องการเปลี่ยนการตั้งค่าของ Message Processor ให้แก้ไขไฟล์ /opt/apigee/customer/application/message-processor.properties
หากไฟล์ message-processor.properties ไม่มีอยู่ หรือหากไฟล์ .properties ที่เกี่ยวข้องสำหรับคอมโพเนนต์ Edge ไม่มีอยู่ ให้สร้างไฟล์ดังกล่าว แล้วเปลี่ยนการเป็นเจ้าของไฟล์เป็นผู้ใช้ "apigee" ดังที่แสดงในตัวอย่างต่อไปนี้
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
หากติดตั้งคอมโพเนนต์ในเครื่องหลายเครื่อง เช่น Message Processor คุณ ต้องแก้ไขไฟล์พร็อพเพอร์ตี้ในเครื่องทั้งหมดที่โฮสต์คอมโพเนนต์
ตารางต่อไปนี้แสดงรายการพร็อพเพอร์ตี้ที่คุณแก้ไขเพื่อเปลี่ยนขนาดฮีป
| พร็อพเพอร์ตี้ | คำอธิบาย |
|---|---|
bin_setenv_min_mem |
ขนาดฮีปขั้นต่ำ ค่าเริ่มต้นจะอิงตามค่าที่แสดงใน ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ การตั้งค่านี้สอดคล้องกับตัวเลือก |
bin_setenv_max_mem |
ขนาดฮีปสูงสุด ค่าเริ่มต้นจะอิงตามค่าที่แสดงใน ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ การตั้งค่านี้สอดคล้องกับตัวเลือก |
bin_setenv_meta_space_size |
ขนาดข้อมูลเมตาของคลาสเริ่มต้น ค่าเริ่มต้นจะตั้งค่าเป็นค่าของ
การตั้งค่านี้สอดคล้องกับตัวเลือก |
เมื่อตั้งค่าพร็อพเพอร์ตี้ขนาดฮีปในโหนด ให้ใช้คำต่อท้าย "m" เพื่อระบุเมกะไบต์ ดังที่ แสดงในตัวอย่างต่อไปนี้
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
หลังจากตั้งค่าในไฟล์พร็อพเพอร์ตี้แล้ว ให้รีสตาร์ทคอมโพเนนต์
/opt/apigee/apigee-service/bin/apigee-service component restart
เช่น
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
เปลี่ยนพร็อพเพอร์ตี้ JVM อื่นๆ
สำหรับการตั้งค่า Java ที่ไม่ได้ควบคุมโดยพร็อพเพอร์ตี้ที่แสดงไว้ข้างต้น คุณยังตั้งค่าต่อไปนี้ในไฟล์พร็อพเพอร์ตี้ที่เกี่ยวข้องสำหรับคอมโพเนนต์ Edge ได้ด้วย
bin_setenv_ext_jvm_opts: ตั้งค่าพร็อพเพอร์ตี้ Java ใดก็ได้ที่ไม่ได้ระบุโดยพร็อพเพอร์ตี้อื่นๆ เช่นbin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
อย่างไรก็ตาม ห้ามใช้
bin_setenv_ext_jvm_optsเพื่อ ตั้งค่า-Xms,-Xmxหรือ-XX:MetaspaceSizeเนื่องจากค่าเหล่านี้ควบคุมโดยพร็อพเพอร์ตี้ที่แสดงไว้ข้างต้น
ดูเคล็ดลับเพิ่มเติมเกี่ยวกับการกำหนดค่าหน่วยความจำสำหรับคอมโพเนนต์ Private Cloud ได้ใน บทความ นี้ในฟอรัม Edge