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

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

ลักษณะปัญหา

เซิร์ฟเวอร์ 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 คือคุณมี พื้นที่ในดิสก์ไม่เพียงพอที่จะจัดเก็บข้อมูล Analytics จำนวนมาก ขั้นตอนที่ระบุไว้ด้านล่างจะ ช่วยให้คุณตรวจสอบได้ว่ามีพื้นที่ในดิสก์เพียงพอหรือไม่ และดำเนินการที่เหมาะสมเพื่อแก้ไข ปัญหา

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

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

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

ความละเอียด

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

ไม่มีการลบข้อมูล Analytics

การวินิจฉัย

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

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

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

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

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

    นี่เป็นโซลูชันที่แนะนำเนื่องจากคุณมั่นใจได้ว่าระบบจะนำข้อมูลที่ไม่จำเป็นออกเป็นระยะๆ

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

ความละเอียด

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

  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 ค่าเริ่มต้น : ไม่ ระบบจะลบข้อมูลที่เก่ากว่าจำนวนวันเก็บรักษา ออกจากตาราง Fact หลักด้วย
  • Skip-confirmation-prompt ค่าเริ่มต้น: ไม่ หากตั้งค่าเป็น "ไม่" สคริปต์จะขอให้ยืนยัน ก่อนที่จะลบข้อมูลออกจาก Fact หลัก ตั้งค่าเป็น "ใช่" หากสคริปต์ลบข้อมูลออกถาวรเป็นแบบอัตโนมัติ

ดูข้อมูลเพิ่มเติมได้ที่การลบข้อมูล Analytics

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