Apigee Edge অনুরোধ জুড়ে ডেটার স্থিরতার জন্য ক্যাশিং প্রদান করে। এপিআই ডেটা প্রাপ্ত হলে, এটি একটি সংক্ষিপ্ত সময়ের জন্য ক্যাশে সংরক্ষণ করা হয় এবং তারপর মুছে ফেলা হয়। মুছে ফেলার আগে ডেটার একটি অংশ সর্বোচ্চ যে পরিমাণ সময় রাখা হয় তাকে ক্যাশের মেয়াদ শেষ বা টাইম-টু-লাইভ (TTL) বলা হয়। প্রতিটি ক্যাশে একটি ডিফল্ট TTL আছে, কিন্তু কিছু ক্ষেত্রে আপনাকে API কর্মক্ষমতা উন্নত করতে TTL মান পরিবর্তন করতে হতে পারে।
ক্যাশে প্রকার
API ডেটা দুটি ধরণের ক্যাশে সংরক্ষণ করা হয়:
- লেভেল 1 (L1): ইন-মেমরি ক্যাশে, যার দ্রুত অ্যাক্সেস রয়েছে কিন্তু কম স্টোরেজ ক্ষমতা রয়েছে।
- লেভেল 2 (L2): একটি ক্যাসান্দ্রা ডেটা স্টোরে স্থায়ী ক্যাশে, যার অ্যাক্সেস ধীর কিন্তু বেশি স্টোরেজ ক্ষমতা রয়েছে।
যখন L1 ক্যাশে একটি ডেটা এন্ট্রি L1 TTL এ পৌঁছায়, তখন এটি মুছে ফেলা হয়। যাইহোক, এন্ট্রির একটি অনুলিপি L2 ক্যাশে (যার L1 ক্যাশের চেয়ে দীর্ঘ TTL আছে) রাখা হয়, যেখানে এটি অন্যান্য বার্তা প্রসেসরগুলিতে অ্যাক্সেসযোগ্য থাকে। ক্যাশে সম্পর্কে আরো বিস্তারিত জানার জন্য ইন-মেমরি এবং ক্রমাগত ক্যাশে লেভেল দেখুন।
সর্বোচ্চ L1 TTL
এজ ফর প্রাইভেট ক্লাউডে, আপনি সর্বোচ্চ L1 টিটিএল প্রপার্টি ( conf_cache_max.l1.ttl.in.seconds
) ব্যবহার করে প্রতিটি বার্তা প্রসেসরের জন্য সর্বোচ্চ L1 ক্যাশে TTL সেট করতে পারেন। L1 ক্যাশে একটি এন্ট্রি সর্বোচ্চ L1 TTL মান পৌঁছানোর পরে মেয়াদ শেষ হয়ে যাবে এবং মুছে ফেলা হবে।
নোট:
- ডিফল্টরূপে, সর্বোচ্চ L1 TTL নিষ্ক্রিয় থাকে (মান
-1
সহ), যে ক্ষেত্রে L1 ক্যাশে একটি এন্ট্রির TTL PopulateCache নীতির মেয়াদ শেষ হওয়ার সেটিংস দ্বারা নির্ধারিত হয় (L1 এবং L2 উভয় ক্যাশের জন্য)। - ম্যাক্স L1 TTL শুধুমাত্র তখনই প্রভাব ফেলবে যদি এর মান সামগ্রিক ক্যাশের মেয়াদ শেষ হওয়ার চেয়ে ছোট হয়।
সর্বোচ্চ L1 TTL সেট করা হচ্ছে
আপনি নিম্নরূপ একটি বার্তা প্রসেসরে সর্বোচ্চ L1 TTL সেট করতে পারেন:
- একটি সম্পাদকে কনফিগারেশন ফাইল
/opt/apigee/customer/application/message-processor.properties
খুলুন। ফাইলটি বিদ্যমান না থাকলে, এটি তৈরি করুন। - সর্বোচ্চ 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 মিস: আপনি যদি লক্ষ্য করেন যে বার্তা প্রসেসর (MPs)-এর মধ্যে রিমোট প্রসেসর কল (RPC) মিস হয়েছে — বিশেষ করে একাধিক ডেটা সেন্টার জুড়ে — এটা সম্ভব যে L1 ক্যাশে পুরানো এন্ট্রি রয়েছে, যা L1 ক্যাশে থেকে মুছে না যাওয়া পর্যন্ত বাসি থাকবে৷ Max L1 TTL কম মানের সেট করলে যেকোন পুরানো এন্ট্রি অপসারণ করতে বাধ্য করে, এবং শীঘ্রই L2 ক্যাশে থেকে নতুন মান দিয়ে প্রতিস্থাপিত হয়।
সমাধান:conf_cache_max.l1.ttl.in.seconds
হ্রাস করুন। - ক্যাসান্ড্রার উপর অত্যধিক লোড: আপনি যখন ম্যাক্স L1 TTL-এর জন্য একটি মান সেট করেন, তখন L1 ক্যাশে এন্ট্রিগুলি আরও ঘন ঘন শেষ হয়ে যাবে, যার ফলে আরও L1 ক্যাশে মিস হবে এবং আরও L2 ক্যাশে হিট হবে৷ যেহেতু L2 ক্যাশে আরো প্রায়ই আঘাত করা হবে, ক্যাসান্ড্রা একটি বর্ধিত লোড বহন করবে।
সমাধান:conf_cache_max.l1.ttl.in.seconds
বাড়ান
একটি সাধারণ নিয়ম হিসাবে, ম্যাক্স L1 TTL টিউন করুন এমন একটি মান যা ক্যাসান্দ্রার সম্ভাব্য লোড সহ এমপিদের মধ্যে RPC মিস হওয়ার ফ্রিকোয়েন্সি ভারসাম্য রাখে।
প্রসেসিং মসৃণভাবে চলতে থাকার জন্য আমরা conf_cache_max.l1.ttl.in.seconds
এর মান কমপক্ষে 180
সেকেন্ড (3 মিনিট) সেট করার পরামর্শ দিই।