Apigee Edge برای پایداری دادهها در درخواستها، حافظه پنهان ارائه میدهد. وقتی دادههای میانای برنامهسازی کاربردی دریافت میشود، برای مدت کوتاهی در حافظه نهان ذخیره میشود و سپس حذف میشود. حداکثر زمانی که یک داده قبلاز حذف شدن نگهداری میشود، انقضا یا زمان بقا (TTL) حافظه نهان نامیده میشود. هر حافظه نهان یک TTL پیشفرض دارد، اما در برخی موارد ممکن است لازم باشد مقدار TTL را تغییر دهید تا عملکرد API بهبود یابد.
انواع حافظه نهان
دادههای میانای برنامهسازی کاربردی در دو نوع حافظه پنهان ذخیره میشود:
- سطح ۱ (L1): حافظه پنهان درونحافظهای که دسترسی سریعتر اما ظرفیت ذخیرهسازی دردسترس کمتری دارد.
- سطح ۲ (L2): حافظه پنهان پایدار در یک ذخیرهگاه داده Cassandra که دسترسی کندتری دارد اما ظرفیت ذخیرهسازی بیشتری دارد.
وقتی ورودی داده در حافظه نهان L1 به TTL L1 میرسد، حذف میشود. بااینحال، نسخهای از ورودی در حافظه نهان L2 (که TTL طولانیتری نسبت به حافظه نهان L1 دارد) نگهداری میشود و در آنجا برای سایر پردازشگرهای پیام قابلدسترسی باقی میماند. برای جزئیات بیشتر درباره حافظه پنهان، سطوح حافظه پنهان در حافظه و پایدار را ببینید.
Max L1 TTL
در Edge for Private Cloud، میتوانید حداکثر TTL حافظه نهان L1 را برای هر پردازشگر پیام بااستفاده از ویژگی Max L1 TTL (conf_cache_max.l1.ttl.in.seconds) تنظیم کنید.
ورودی در حافظه نهان L1 پساز رسیدن به مقدار Max L1 TTL منقضی و حذف میشود.
نکتهها:
- بهطور پیشفرض، «حداکثر TTL سطح ۱» غیرفعال است (با مقدار
-1)، که در این صورت TTL ورودی در حافظه نهان سطح ۱ توسط تنظیمات انقضای خطمشی PopulateCache (برای حافظه نهان سطح ۱ و سطح ۲) تعیین میشود. - «حداکثر زمان بقای L1» فقط درصورتی تأثیر دارد که مقدار آن از انقضای کلی حافظه پنهان کمتر باشد.
درحال تنظیم Max 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
رهنمودهای تنظیم Max L1 TTL
هنگام تنظیم Max L1 TTL، رهنمودهای زیر را درنظر داشته باشید:
- فراخوانیهای ناموفق RPC: اگر متوجه فراخوانیهای ناموفق رویه از راه دور (RPC) بین پردازندههای پیام (MP) شدید—
بهویژه در چندین مرکز داده—
ممکن است حافظه نهان L1 دارای ورودیهای قدیمی باشد که تا زمانی که از حافظه نهان L1 حذف نشوند، قدیمی باقی خواهند ماند. تنظیم Max L1 TTL روی مقدار پایینتر باعث میشود هرگونه
ورودی کهنه زودتر برداشته شود و با مقادیر جدید از حافظه نهان L2 جایگزین شود.
راهحل:conf_cache_max.l1.ttl.in.secondsرا کاهش دهید. - بار بیشازحد روی Casandra: وقتی مقداری برای Max L1 TTL تنظیم میکنید، ورودیهای حافظه نهان L1
بیشتر منقضی میشوند،
که منجر به ازدست رفتن بیشتر حافظه نهان L1 و بازدیدهای بیشتر حافظه نهان L2 میشود. ازآنجاییکه حافظه نهان L2 بیشتر مورد استفاده قرار میگیرد،
بار Cassandra افزایش خواهد یافت.
راهحل: افزایشconf_cache_max.l1.ttl.in.seconds
بهعنوان یک قانون کلی، Max L1 TTL را روی مقداری تنظیم کنید که فرکانس RPCهای ناموفق بین MPها را با بار احتمالی روی Cassandra متعادل کند.
توصیه میکنیم مقدار conf_cache_max.l1.ttl.in.seconds را حداقل روی
180 ثانیه (۳ دقیقه) تنظیم کنید تا پردازش بهراحتی اجرا شود.