Apigee Edge برای تداوم داده ها در سراسر درخواست ها، کش را فراهم می کند. هنگامی که داده های API دریافت می شود، برای مدت کوتاهی در حافظه پنهان ذخیره می شود و سپس حذف می شود. حداکثر مدت زمانی که یک قطعه داده قبل از حذف نگهداری می شود، انقضا یا زمان تا زندگی (TTL) حافظه پنهان نامیده می شود. هر کش دارای یک TTL پیشفرض است، اما در برخی موارد ممکن است لازم باشد مقدار TTL را برای بهبود عملکرد API تغییر دهید.
انواع کش
داده های API در دو نوع کش ذخیره می شوند:
- سطح 1 (L1): کش درون حافظه که دسترسی سریعتری دارد اما ظرفیت ذخیرهسازی کمتری دارد.
- سطح 2 (L2): حافظه پنهان دائمی در یک فروشگاه داده کاساندرا، که دسترسی کندتر اما ظرفیت ذخیره سازی در دسترس بیشتری دارد.
هنگامی که یک ورودی داده در حافظه نهان L1 به L1 TTL می رسد، حذف می شود. با این حال، یک کپی از ورودی در حافظه نهان L2 (که دارای TTL طولانی تر از حافظه نهان L1 است) نگهداری می شود، جایی که برای پردازشگرهای پیام دیگر قابل دسترسی است. برای جزئیات بیشتر در مورد حافظه نهان ، سطوح حافظه پنهان و ماندگار را ببینید.
حداکثر L1 TTL
در Edge for Private Cloud، میتوانید حداکثر L1 cache TTL را برای هر پردازشگر پیام با استفاده از ویژگی Max L1 TTL ( conf_cache_max.l1.ttl.in.seconds
) تنظیم کنید. یک ورودی در حافظه نهان L1 پس از رسیدن به مقدار حداکثر L1 TTL منقضی می شود و حذف می شود.
یادداشت ها:
- به طور پیشفرض، Max L1 TTL غیرفعال است (با مقدار
-1
)، در این صورت TTL یک ورودی در حافظه پنهان L1 توسط تنظیمات انقضای خطمشی PopulateCache (هم برای حافظه نهان L1 و L2) تعیین میشود. - حداکثر L1 TTL تنها زمانی تأثیر دارد که مقدار آن از انقضای کلی حافظه پنهان کوچکتر باشد.
تنظیم حداکثر L1 TTL
می توانید Max L1 TTL را روی یک پردازشگر پیام به صورت زیر تنظیم کنید:
- فایل پیکربندی
/opt/apigee/customer/application/message-processor.properties
را در یک ویرایشگر باز کنید. اگر فایل وجود ندارد، آن را ایجاد کنید. - ویژگی Max L1 TTL را روی مقدار دلخواه تنظیم کنید:
conf_cache_max.l1.ttl.in.seconds = 180
ما مقدار
180
ثانیه را توصیه می کنیم. - مطمئن شوید که فایل خواص متعلق به کاربر "apigee" است:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- پردازشگر پیام را مجددا راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
دستورالعمل برای تنظیم حداکثر L1 TTL
هنگام تنظیم Max L1 TTL، دستورالعمل های زیر را در نظر داشته باشید:
- خطاهای RPC: اگر متوجه نشدید تماس رویه از راه دور (RPC) بین پردازشگرهای پیام (MPs) - به ویژه در چندین مرکز داده - ممکن است حافظه نهان L1 دارای ورودی های قدیمی باشد، که تا زمانی که از حافظه نهان L1 حذف نشوند، بیات می مانند. تنظیم Max L1 TTL روی مقدار کمتر، هر ورودی قدیمی را مجبور میکند که زودتر حذف شود و با مقادیر جدید از حافظه نهان L2 جایگزین شود.
راه حل:conf_cache_max.l1.ttl.in.seconds
را کاهش دهید. - بارگذاری بیش از حد در Casandra: وقتی مقداری را برای Max L1 TTL تنظیم میکنید، ورودیهای حافظه نهان L1 بیشتر منقضی میشوند و منجر به از دست رفتن حافظه نهان L1 و بازدیدهای حافظه نهان L2 بیشتر میشود. از آنجایی که حافظه نهان L2 بیشتر مورد ضربه قرار می گیرد، کاساندرا بار بیشتری را متحمل می شود.
راه حل:conf_cache_max.l1.ttl.in.seconds
را افزایش دهید
به عنوان یک قاعده کلی، Max L1 TTL را با مقداری تنظیم کنید که فرکانس خطاهای RPC بین MPs را با بار بالقوه روی کاساندرا متعادل کند.
توصیه می کنیم مقدار conf_cache_max.l1.ttl.in.seconds
را روی حداقل 180
ثانیه (3 دقیقه) تنظیم کنید تا پردازش به خوبی اجرا شود.