Antipattern: داده های بیش از 256 کیلوبایت را در حافظه پنهان ذخیره کنید

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

Apigee Edge توانایی ذخیره داده ها در حافظه پنهان در زمان اجرا را برای ماندگاری و بازیابی سریعتر فراهم می کند.

  • داده ها در ابتدا در حافظه پنهان پردازشگر پیام ذخیره می شوند که به آن کش L1 گفته می شود.
  • حافظه نهان L1 با مقدار حافظه ذخیره شده برای آن به عنوان درصدی از حافظه JVM محدود می شود.
  • ورودی‌های کش بعداً در حافظه پنهان L2 باقی می‌مانند، که برای همه پردازشگرهای پیام قابل دسترسی است. جزئیات بیشتر را می توان در بخش زیر یافت.
  • حافظه نهان L2 هیچ محدودیت سختی در تعداد ورودی های کش ندارد، با این حال حداکثر اندازه ورودی قابل ذخیره به 256 کیلوبایت محدود شده است. اندازه کش 256 کیلوبایتی، اندازه توصیه شده برای عملکرد بهینه است.

ضد الگو

این آنتی الگوی خاص در مورد پیامدهای فراتر از محدودیت های اندازه کش فعلی در پلت فرم Apigee Edge صحبت می کند.

هنگامی که داده های بیش از 256 کیلوبایت در حافظه پنهان ذخیره می شوند، پیامدهای آن به شرح زیر است:

  • درخواست‌های API که برای اولین بار در هر یک از پردازشگرهای پیام اجرا می‌شوند باید داده‌ها را مستقل از منبع اصلی (خط‌مشی یا سرور هدف) دریافت کنند، زیرا ورودی‌های > 256 کیلوبایت در حافظه نهان L2 در دسترس نیستند.
  • ذخیره سازی داده های بزرگتر (بیش از 256 کیلوبایت) در حافظه نهان L1 باعث ایجاد استرس بیشتر بر منابع پلت فرم می شود. این باعث می شود حافظه نهان L1 سریعتر پر شود و از این رو فضای کمتری برای داده های دیگر در دسترس باشد. در نتیجه، فرد نمی‌تواند داده‌ها را به‌طور تهاجمی در حافظه پنهان ذخیره کند.
  • ورودی های ذخیره شده از پردازشگرهای پیام با رسیدن به محدودیت تعداد ورودی ها حذف خواهند شد. این باعث می شود که داده ها دوباره از منبع اصلی در پردازشگرهای پیام مربوطه واکشی شوند.

دو نمودار جریان.   یکی برای اندازه<=256 کیلوبایت که جریان‌ها را بین پروکسی API و پردازشگرهای پیام و جریان‌های بین پردازنده‌های پیام و حافظه پنهان L2 را نشان می‌دهد. یکی برای اندازه> 256 کیلوبایت که جریان‌ها را بین پروکسی API و پردازشگرهای پیام و جریان‌های بین پردازشگرهای پیام و داده/پاسخی که در حافظه نهان L2 ذخیره نشده است را نشان می‌دهد.

تاثیر

  • داده هایی با اندازه > 256 کیلوبایت در حافظه پنهان L2/پاکستان ذخیره نمی شوند.
  • تماس های مکرر به منبع اصلی (اعم از خط مشی یا سرور هدف) منجر به افزایش تاخیر برای درخواست های API می شود.

بهترین تمرین

  • ترجیح داده می شود که داده هایی با اندازه کمتر از 256 کیلوبایت در حافظه پنهان ذخیره شود تا عملکرد مطلوبی داشته باشد.
  • اگر نیاز به ذخیره داده های > 256 کیلوبایت وجود دارد، در نظر بگیرید:
    • استفاده از هر پایگاه داده مناسب برای ذخیره سازی داده های بزرگ

      یا

    • فشرده سازی داده ها

در ادامه مطلب

،

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

Apigee Edge توانایی ذخیره داده ها در حافظه پنهان در زمان اجرا را برای ماندگاری و بازیابی سریعتر فراهم می کند.

  • داده ها در ابتدا در حافظه پنهان پردازشگر پیام ذخیره می شوند که به آن کش L1 گفته می شود.
  • حافظه نهان L1 با مقدار حافظه ذخیره شده برای آن به عنوان درصدی از حافظه JVM محدود می شود.
  • ورودی‌های کش بعداً در حافظه پنهان L2 باقی می‌مانند، که برای همه پردازشگرهای پیام قابل دسترسی است. جزئیات بیشتر را می توان در بخش زیر یافت.
  • حافظه نهان L2 هیچ محدودیت سختی در تعداد ورودی های کش ندارد، با این حال حداکثر اندازه ورودی قابل ذخیره به 256 کیلوبایت محدود شده است. اندازه کش 256 کیلوبایتی، اندازه توصیه شده برای عملکرد بهینه است.

ضد الگو

این آنتی الگوی خاص در مورد پیامدهای فراتر از محدودیت های اندازه کش فعلی در پلت فرم Apigee Edge صحبت می کند.

هنگامی که داده های بیش از 256 کیلوبایت در حافظه پنهان ذخیره می شوند، پیامدهای آن به شرح زیر است:

  • درخواست‌های API که برای اولین بار در هر یک از پردازشگرهای پیام اجرا می‌شوند باید داده‌ها را مستقل از منبع اصلی (خط‌مشی یا سرور هدف) دریافت کنند، زیرا ورودی‌های > 256 کیلوبایت در حافظه نهان L2 در دسترس نیستند.
  • ذخیره سازی داده های بزرگتر (بیش از 256 کیلوبایت) در حافظه نهان L1 باعث ایجاد استرس بیشتر بر منابع پلت فرم می شود. این باعث می شود حافظه نهان L1 سریعتر پر شود و از این رو فضای کمتری برای داده های دیگر در دسترس باشد. در نتیجه، فرد نمی‌تواند داده‌ها را به‌طور تهاجمی در حافظه پنهان ذخیره کند.
  • ورودی های ذخیره شده از پردازشگرهای پیام با رسیدن به محدودیت تعداد ورودی ها حذف خواهند شد. این باعث می شود که داده ها دوباره از منبع اصلی در پردازشگرهای پیام مربوطه واکشی شوند.

دو نمودار جریان.   یکی برای اندازه<=256 کیلوبایت که جریان‌ها را بین پروکسی API و پردازشگرهای پیام و جریان‌های بین پردازنده‌های پیام و حافظه پنهان L2 را نشان می‌دهد. یکی برای اندازه> 256 کیلوبایت که جریان‌ها را بین پروکسی API و پردازشگرهای پیام و جریان‌های بین پردازشگرهای پیام و داده/پاسخی که در حافظه نهان L2 ذخیره نشده است را نشان می‌دهد.

تاثیر

  • داده هایی با اندازه > 256 کیلوبایت در حافظه پنهان L2/پاکستان ذخیره نمی شوند.
  • تماس های مکرر به منبع اصلی (اعم از خط مشی یا سرور هدف) منجر به افزایش تاخیر برای درخواست های API می شود.

بهترین تمرین

  • ترجیح داده می شود که داده هایی با اندازه کمتر از 256 کیلوبایت در حافظه پنهان ذخیره شود تا عملکرد مطلوبی داشته باشد.
  • اگر نیاز به ذخیره داده های > 256 کیلوبایت وجود دارد، در نظر بگیرید:
    • استفاده از هر پایگاه داده مناسب برای ذخیره سازی داده های بزرگ

      یا

    • فشرده سازی داده ها

در ادامه مطلب