เซิร์ฟเวอร์ Postgres พื้นที่ดิสก์เหลือน้อย

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

ลักษณะปัญหา

เซิร์ฟเวอร์ Postgres ที่มีข้อมูล Analytics ไม่เหลือพื้นที่ว่างในดิสก์

ในตัวอย่างต่อไปนี้ คุณจะเห็นว่าดิสก์ /u01 เหลือพื้นที่ในดิสก์ 90% (176GB/207GB)

$df -g

Filesystem Size User Avail Use% Mounted on
/dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01

ข้อความแสดงข้อผิดพลาด

คุณอาจไม่เห็นข้อความแสดงข้อผิดพลาดใดๆ เว้นแต่เซิร์ฟเวอร์ Postgres จะเติมพื้นที่ดิสก์จนหมด

สาเหตุที่เป็นไปได้

ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของปัญหานี้

สาเหตุ สำหรับ
พื้นที่ในดิสก์ไม่เพียงพอ ผู้ใช้ Edge Private Cloud
ไม่มีการตัดข้อมูลใน Analytics ผู้ใช้ Edge Private Cloud

พื้นที่ในดิสก์ไม่เพียงพอ

การวินิจฉัย

สาเหตุทั่วไปประการหนึ่งที่ทำให้เกิดข้อผิดพลาดเกี่ยวกับพื้นที่ดิสก์ในเซิร์ฟเวอร์ Postgres คือคุณมีพื้นที่ในดิสก์ไม่เพียงพอที่จะจัดเก็บข้อมูลการวิเคราะห์ในปริมาณมาก ขั้นตอนที่ด้านล่างจะช่วยคุณตรวจสอบว่ามีพื้นที่ว่างในดิสก์เพียงพอหรือไม่ และดำเนินการตามความเหมาะสมเพื่อแก้ไขปัญหา

  1. กำหนดอัตราการรับส่งข้อมูล API ขาเข้าไปยัง Edge โดยอิงจากหน้าแดชบอร์ดประสิทธิภาพพร็อกซีของ Analytics

    ตัวอย่างประสิทธิภาพพร็อกซีที่แสดง TPS เฉลี่ย

  2. ลองพิจารณาสถานการณ์ต่อไปนี้
    1. การรับส่งข้อมูล API ขาเข้าสำหรับองค์กรคือ 22 TPS (ธุรกรรมต่อวินาที)
      1. ซึ่งหมายความว่าการรับส่งข้อมูลของ API จะมีธุรกรรม 1,900,800 รายการต่อวัน (22 * 60 * 60 * 24)
      2. โปรดทราบว่าธุรกรรม/ข้อความใน Analytics แต่ละรายการมีขนาด 1.5 กิโลไบต์
      3. ดังนั้น ในแต่ละวันจะสร้างข้อมูล Analytics จำนวน 2.7 GB (1,900,800 * 1.5 K)
    2. คุณต้องเก็บรักษาข้อมูล Analytics ไว้เป็นเวลา 30 วันในเซิร์ฟเวอร์ Postgres เพื่อใช้อ้างอิง
      1. ข้อมูลทั้งหมดที่สร้างขึ้นเป็นเวลา 30 วัน = 81GB (2.7GB * 30)
    3. ดังนั้น หากต้องการจัดเก็บข้อมูล Analytics เป็นเวลา 30 วันที่มีอัตราการรับส่งข้อมูล 22 TPS คุณต้องมีพื้นที่ดิสก์ 150 GB
      1. 81 GB (ข้อมูล Analytics) + 50 GB (ข้อมูลอื่นๆ เช่น บันทึก ฯลฯ) + 20 GB (พื้นที่บัฟเฟอร์เพิ่มเติม) = 150 GB
  3. หากคุณมีพื้นที่ในดิสก์ในระบบน้อยลง เช่น มีพื้นที่ว่างน้อยกว่า 150 GB (ตามสถานการณ์ตัวอย่างด้านบน) แสดงว่าคุณมีพื้นที่ในดิสก์ไม่เพียงพอที่จะจัดเก็บข้อมูล Analytics

ความละเอียด

เพิ่มพื้นที่ดิสก์เพียงพอให้กับเครื่องเซิร์ฟเวอร์ Postgres

ไม่มีการตัดข้อมูลใน Analytics

การวินิจฉัย

เนื่องจากการรับส่งข้อมูล API ไปยัง Edge เพิ่มขึ้น ปริมาณข้อมูลวิเคราะห์ที่จัดเก็บในฐานข้อมูล Postgres จะเพิ่มขึ้นด้วยเช่นกัน จำนวนข้อมูลวิเคราะห์ที่เก็บไว้ในฐานข้อมูล Postgres ได้ถูกจำกัดโดยปริมาณพื้นที่ในดิสก์ที่มีในระบบ

ดังนั้น คุณจึงไม่สามารถเก็บข้อมูลการวิเคราะห์เพิ่มเติมในฐานข้อมูล Postgres ต่อไปโดยไม่ดำเนินการใดๆ ต่อไปนี้

  1. เพิ่มพื้นที่ว่างในดิสก์

    ตัวเลือกนี้ไม่ใช่ตัวเลือกที่รองรับการปรับขนาดเนื่องจากเราเพิ่มพื้นที่ในดิสก์อีกไม่ได้ เนื่องจากมีจำกัดและมีราคาแพง

  2. ตัดข้อมูลออกนอกช่วงการเก็บรักษาที่ต้องการ

    วิธีนี้เป็นวิธีแก้ปัญหาที่เหมาะสมเพื่อให้มั่นใจว่าระบบจะนำข้อมูลที่ไม่จำเป็นอีกต่อไปออกเป็นระยะๆ

หากคุณไม่ตัดข้อมูลตามระยะเวลาที่สม่ำเสมอด้วยตนเองหรือโดยใช้งาน Cron จำนวนข้อมูลการวิเคราะห์จะเพิ่มขึ้นอย่างต่อเนื่องและอาจทำให้พื้นที่ดิสก์ในระบบของคุณเต็มในที่สุด

ความละเอียด

วิธีตัดข้อมูลที่อยู่นอกระยะเวลาเก็บรักษาที่กำหนดมีดังนี้

  1. กำหนดช่วงเวลาเก็บรักษา ซึ่งเป็นระยะเวลาที่คุณต้องการเก็บข้อมูล Analytics ในฐานข้อมูล Postgres
  2. เรียกใช้คำสั่งต่อไปนี้เพื่อตัดข้อมูลสำหรับองค์กรและสภาพแวดล้อมที่เฉพาะเจาะจง
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
      org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
    

สคริปต์มีตัวเลือกต่อไปนี้

  • Delete-from-parent-fact ค่าเริ่มต้น : ไม่ จะลบข้อมูลที่เก่ากว่าวันที่เก็บรักษาออกจากตารางข้อเท็จจริงระดับบนสุดด้วย
  • Skip-confirmation-prompt ค่าเริ่มต้น: ไม่ หากไม่ใช่ สคริปต์จะแสดงข้อความแจ้งให้ยืนยันก่อนที่จะลบข้อมูลออกจากข้อเท็จจริงขององค์กรหลัก ตั้งค่าเป็น "ใช่" หากสคริปต์การล้างข้อมูลเป็นแบบอัตโนมัติ

สำหรับข้อมูลเพิ่มเติม โปรดดูการตัดข้อมูล Analytics

หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนของ Apigee Edge