กำหนดค่า Cassandra

เอกสารนี้ครอบคลุมการกำหนดค่าของ Cassandra 3.11.X ซึ่งมาพร้อมกับ Apigee Edge สำหรับ Private Cloud เวอร์ชัน 4.52.02 ขึ้นไป โปรดดูส่วนภาคผนวกสำหรับรายละเอียดเกี่ยวกับการกำหนดค่าที่อธิบายไว้ที่นี่

การกำหนดค่าเครื่องมือรวบรวมขยะ

เปลี่ยนไปใช้ CMS

โดยค่าเริ่มต้น Apigee จะจัดส่ง Cassandra ด้วย G1 Garbage Collector ซึ่งแนะนำสำหรับ Cassandra 3.X อย่างไรก็ตาม คุณอาจเลือกเปลี่ยนไปใช้ CMS Garbage Collector ได้ในกรณีที่มี Use Case ที่แตกต่างกันและโครงสร้างพื้นฐานของคุณเอง เช่น Edge สำหรับ Private Cloud สำหรับฮีปที่มีขนาดใหญ่กว่า 8 GB Apigee ขอแนะนำเป็นอย่างยิ่งให้ใช้ G1GC

หากต้องการใช้ CMS Garbage Collector ให้กำหนดค่าต่อไปนี้

conf_jvm_options_gc_type=cms

หากต้องการเปลี่ยนกลับไปใช้เครื่องมือเก็บขยะ G1 ให้นำการกำหนดค่านี้ออก

แก้ไขการตั้งค่าเครื่องมือรวบรวมขยะ CMS

Apigee จะมีพารามิเตอร์เริ่มต้นสำหรับ Garbage Collector ของ CMS พารามิเตอร์เหล่านี้จะมีผลเมื่อ Cassandra ใช้ CMS หากต้องการเปลี่ยนพารามิเตอร์เหล่านี้ ให้ใช้การกำหนดค่า conf_jvm_options_cms_gc_setting_lines ตั้งค่าพารามิเตอร์ JVM ที่เกี่ยวข้องทั้งหมดสําหรับ CMS GC ในบรรทัดเดียวโดยคั่นด้วย "\n"

เช่น

conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled

แก้ไขการตั้งค่าเครื่องมือเก็บขยะ G1GC

Apigee จะใช้พารามิเตอร์เริ่มต้นสำหรับ Garbage Collector ของ G1 พารามิเตอร์เหล่านี้จะมีผลเมื่อเปิดใช้ G1GC เริ่มต้น หากคุณเปลี่ยนไปใช้ CMS การตั้งค่าเหล่านี้จะไม่มีผล หากต้องการเปลี่ยนพารามิเตอร์ G1GC ให้ใช้การกำหนดค่า conf_jvm_options_g1_gc_setting_lines ตั้งค่าพารามิเตอร์ JVM ที่เกี่ยวข้องทั้งหมดสําหรับ G1 GC ในบรรทัดเดียวโดยคั่นด้วย "\n"

เช่น

conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15

ใช้การตั้งค่า GC ของคุณเอง

หากต้องการละเว้นค่าที่กำหนดล่วงหน้าทั้งหมดของ Apigee สำหรับทั้ง G1GC และ CMS ให้ตั้งค่าการกำหนดค่าต่อไปนี้

conf_jvm_options_gc_type=custom

ระบุการตั้งค่า GC ทั้งหมดสำหรับ JVM ใน conf_jvm_options_custom_settings โดยแยกการตั้งค่าแต่ละรายการด้วย “\n”

เช่น

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

การกำหนดค่าขนาดฮีป

Apigee ขอแนะนำเป็นอย่างยิ่งให้ใช้ Cassandra ที่มีพื้นที่ฮีปไม่เกิน 8 GB การตรวจสอบเพื่อจำกัดขนาดฮีปไว้ที่ 8 GB จะอยู่ใน $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh

หากต้องการระบุการปรับขนาดฮีปของคุณเองโดยไม่ต้องปิดใช้การตรวจสอบด้วยตนเอง ให้ใช้การกำหนดค่า conf_jvm_options_custom_settings แยกการตั้งค่าแต่ละรายการด้วย "\n"

เช่น

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

การกำหนดการตั้งค่า JVM ทั่วไป

หากต้องการเพิ่มพารามิเตอร์ JVM ไปยัง Cassandra ให้ระบุการกำหนดค่า JVM ทั้งหมดในบรรทัดเดียวโดยคั่นด้วย "\n" สำหรับการกำหนดค่า conf_jvm_options_custom_settings

เช่น

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

ภาคผนวก

วิธีตั้งค่าการกำหนดค่า Cassandra

  1. สร้างหรือแก้ไขไฟล์การลบล้างการกำหนดค่า Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. เพิ่ม นำออก หรือแก้ไขบรรทัดการกำหนดค่าตามที่จำเป็น
  3. บันทึกไฟล์และตรวจสอบว่าผู้ใช้ "Apigee" เป็นเจ้าของและอ่านไฟล์ได้โดยทำดังนี้
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. รีสตาร์ทบริการ Cassandra บนโหนด:
    apigee-service apigee-cassandra restart
  5. ทำซ้ำขั้นตอนเหล่านี้ในโหนด Cassandra แต่ละรายการทีละรายการ

การกำหนดค่าประเภทต่างๆ

การกำหนดค่า conf_jvm_options_custom_settings ส่งพารามิเตอร์ต่างๆ ไปยัง Cassandra JVM ได้ รวมพารามิเตอร์ Java ต่างๆ ไว้ในการกำหนดค่าเดียวและคั่นด้วย "\n"

เช่น

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G