เซิร์ฟเวอร์ 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 วัน = 81 GB (2.7 GB * 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