فضای دیسک سرور 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 کاملاً پر شده باشد.

علل احتمالی

جدول زیر علل احتمالی این مشکل را فهرست می‌کند:

علت برای
فضای دیسک ناکافی کاربران فضای ابری خصوصی اج
عدم حذف داده‌های تحلیلی کاربران فضای ابری خصوصی اج

فضای دیسک ناکافی

تشخیص

یکی از دلایل معمول خطاهای فضای دیسک در سرورهای Postgres این است که فضای دیسک کافی برای ذخیره حجم زیادی از داده‌های تحلیلی ندارید. مراحل ارائه شده در زیر به شما کمک می‌کند تا تعیین کنید که آیا فضای دیسک کافی دارید یا خیر و اقدامات مناسب را برای رفع مشکل انجام دهید.

  1. با مراجعه به داشبورد عملکرد پروکسی آنالیتیکس، میزان ترافیک ورودی API به اج را تعیین کنید.

    نمونه عملکرد پروکسی که میانگین TPS را نشان می‌دهد

  2. سناریوی زیر را در نظر بگیرید:
    1. ترافیک ورودی API برای سازمان شما ۲۲ تراکنش در ثانیه (TPS) است.
      1. این یعنی ترافیک API، ۱,۹۰۰,۸۰۰ تراکنش در روز است (۲۲ * ۶۰ * ۶۰ * ۲۴).
      2. توجه داشته باشید که هر تراکنش/پیام در آنالیتیکس ۱.۵ کیلوبایت حجم دارد.
      3. بنابراین، هر روز ۲.۷ گیگابایت داده تحلیلی (۱۹۰۰۸۰۰ * ۱.۵ کیلوبایت) تولید می‌شود.
    2. شما ملزم به نگهداری داده‌های تحلیلی به ارزش 30 روز در سرورهای Postgres خود برای مرجع هستید.
      1. کل داده‌های تولید شده برای 30 روز = 81 گیگابایت (2.7 گیگابایت * 30)
    3. بنابراین، برای ذخیره داده‌های تحلیلی به ارزش ۳۰ روز با نرخ ترافیک ۲۲ تراکنش در ثانیه، به ۱۵۰ گیگابایت فضای دیسک نیاز دارید.
      1. ۸۱ گیگابایت (داده‌های تحلیلی) + ۵۰ گیگابایت (سایر داده‌ها مانند گزارش‌ها و غیره) + ۲۰ گیگابایت (فضای بافر اضافی) = ۱۵۰ گیگابایت.
  3. اگر فضای دیسک کمتری روی سیستم دارید، مثلاً کمتر از ۱۵۰ گیگابایت فضا (مطابق سناریوی مثال بالا)، پس فضای دیسک کافی برای ذخیره داده‌های تحلیلی ندارید.

وضوح تصویر

فضای دیسک کافی را به دستگاه سرور Postgres اضافه کنید.

عدم حذف داده‌های تحلیلی

تشخیص

با افزایش ترافیک API به Edge، میزان داده‌های تحلیلی ذخیره شده در پایگاه داده Postgres نیز افزایش خواهد یافت. میزان داده‌های تحلیلی که می‌توانند در پایگاه داده Postgres ذخیره شوند، محدود به میزان فضای دیسک موجود در سیستم است.

بنابراین، شما نمی‌توانید بدون انجام یکی از اقدامات زیر، به ذخیره داده‌های تحلیلی اضافی در پایگاه داده Postgres ادامه دهید:

  1. فضای دیسک بیشتری اضافه کنید.

    این یک گزینه مقیاس‌پذیر نیست زیرا ما نمی‌توانیم به دلیل محدودیت و گران بودن، فضای دیسک بیشتری اضافه کنیم.

  2. داده‌ها را فراتر از بازه زمانی مورد نیاز برای نگهداری، هرس کنید.

    این یک راه حل ترجیحی است زیرا می‌توانید اطمینان حاصل کنید که داده‌هایی که دیگر نیازی به آنها نیست، در فواصل زمانی منظم حذف می‌شوند.

اگر داده‌ها را در فواصل منظم به صورت دستی یا با استفاده از یک cron job هرس نکنید، مقدار داده‌های تحلیلی به طور مداوم افزایش می‌یابد و در نهایت می‌تواند منجر به اتمام فضای دیسک سیستم شما شود.

وضوح تصویر

برای هرس کردن داده‌هایی که فراتر از بازه زمانی مورد نیاز شما هستند:

  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 . پیش‌فرض: خیر. اگر خیر، اسکریپت قبل از حذف داده‌ها از والد، تأییدیه درخواست می‌کند. اگر اسکریپت پاکسازی خودکار است، روی بله تنظیم کنید.

برای اطلاعات بیشتر، به داده‌های Pruning Analytics مراجعه کنید.

اگر مشکل همچنان ادامه داشت، با پشتیبانی Apigee Edge تماس بگیرید.