Java মেমরি সেটিংস পরিবর্তন করা

আপনার ট্রাফিক ও প্রসেসিং সংক্রান্ত প্রয়োজনীয়তার উপর নির্ভর করে, Java-ভিত্তিক প্রাইভেট ক্লাউড কম্পোনেন্ট রান করা আপনার নোডের জন্য হিপ মেমরি সাইজ বা ক্লাস মেটাডেটা সাইজ পরিবর্তন করতে হতে পারে।

এই বিভাগে ডিফল্ট ও সাজেস্ট করা জাভা হিপ মেমরি সাইজ এবং ডিফল্ট পরিবর্তন করার প্রসেস দেওয়া আছে। সবশেষে, এই বিভাগে প্রপার্টি ফাইল ব্যবহার করে কীভাবে অন্যান্য JVM সেটিংস পরিবর্তন করতে হয় তা বর্ণনা করা হয়েছে।

ডিফল্ট ও সাজেস্ট করা হিপ মেমরি সাইজ

নিচে দেওয়া সারণীতে Java-ভিত্তিক প্রাইভেট ক্লাউড কম্পোনেন্টের জন্য ডিফল্ট ও সাজেস্ট করা Java হিপ মেমরি সাইজের তালিকা দেওয়া হল:

কম্পোনেন্ট প্রপার্টি ফাইলের নাম ডিফল্ট
হিপ সাইজ
সাজেস্ট করা
হিপ সাইজ
রানটাইম
Cassandra প্রযোজ্য নয় অটোমেটিক কনফিগার করা১ অটোমেটিক কনফিগার করা১
মেসেজ প্রসেসর message‑processor.properties ৫১২ এমবি ৩ জিবি - ৬ জিবি২
রাউটার router.properties ৫১২ এমবি ৫১২ এমবি
Analytics
Postgres সার্ভার postgres‑server.properties ৫১২ এমবি ৫১২ এমবি
Qpid সার্ভার qpid‑server.properties ৫১২ এমবি ২ জিবি - ৪ জিবি
ম্যানেজমেন্ট
ম্যানেজমেন্ট সার্ভার management‑server.properties ৫১২ এমবি ৫১২ এমবি
UI ui.properties ৫১২ এমবি ৫১২ এমবি
SymasLDAP প্রযোজ্য নয় নেটিভ অ্যাপ৩ নেটিভ অ্যাপ৩
চিড়িয়াখানার কর্মী zookeeper.properties ২০৪৮ এমবি ২০৪৮ এমবি
নোট

১ Cassandra চালু হওয়ার সময় সর্বাধিক হিপ সাইজ ডায়নামিক গণনা করে। বর্তমানে, এটি হল মোট সিস্টেম মেমরির অর্ধেক, যার সর্বাধিক ৮১৯২ এমবি। হিপ সাইজ সেট করা সংক্রান্ত তথ্যের জন্য, মেমরি সাইজ পরিবর্তন করুন দেখুন।

২ মেসেজ প্রসেসরদের জন্য, Apigee সাজেস্ট করে যে আপনি হিপ সাইজ ৩ জিবি থেকে ৬ জিবি-এর মধ্যে সেট করুন। পারফর্ম্যান্স টেস্ট করার পরেই ৬ জিবি হিপ সাইজের বেশি করুন।

পারফর্ম্যান্স টেস্টিং চলাকালীন হিপ ব্যবহারের পরিমাণ সর্বোচ্চ সীমার কাছাকাছি পৌঁছে গেলে, সর্বোচ্চ সীমা বাড়িয়ে দিন। হিপ সাইজ সেট করা সংক্রান্ত তথ্যের জন্য, হিপ মেমরি সাইজ পরিবর্তন করুন দেখুন।

৩ সব প্রাইভেট ক্লাউড কম্পোনেন্ট Java-তে প্রয়োগ করা হয় না। কারণ সেগুলি জাভা-ভিত্তিক নয়, হোস্ট প্ল্যাটফর্মে নেটিভভাবে রান করা অ্যাপে কনফিগার করা যায় এমন জাভা হিপ সাইজ থাকে না; পরিবর্তে, সেগুলি মেমরি ম্যানেজমেন্টের জন্য হোস্ট সিস্টেমের উপর নির্ভর করে।

কোনও নোডে আপনার জাভা-ভিত্তিক কম্পোনেন্টকে Apigee কত মোট মেমরি বরাদ্দ করার সাজেশন দেয় তা নির্ধারণ করতে, সেই নোডের প্রতিটি কম্পোনেন্টের জন্য উপরে তালিকাভুক্ত মান যোগ করুন। যেমন, আপনার নোডে Postgres ও Qpid সার্ভার, দুটিই হোস্ট করা থাকলে, Apigee সাজেস্ট করে যে আপনার সম্মিলিত মেমরি অ্যালোকেশন যেন ২.৫ জিবি থেকে ৪.৫ জিবি হয়।

প্রয়োজনীয় হার্ডওয়্যারের (যেমন RAM) তালিকা দেখতে, ইনস্টলেশন সংক্রান্ত প্রয়োজনীয়তা দেখুন।

হিপ মেমরি সাইজ পরিবর্তন করা

হিপ মেমরি সেটিংস পরিবর্তন করতে, কম্পোনেন্টের প্রপার্টি ফাইল এডিট করুন। যেমন, মেসেজ প্রসেসরের জন্য, /opt/apigee/customer/application/message-processor.properties ফাইলটি এডিট করুন।

message-processor.properties ফাইল না থাকলে অথবা কোনও Edge কম্পোনেন্টের সংশ্লিষ্ট .properties ফাইল না থাকলে, এটি তৈরি করুন এবং তারপরে ফাইলের মালিকানা "apigee" ব্যবহারকারীর কাছে পরিবর্তন করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

মেসেজ প্রসেসরের মতো একাধিক মেশিনে কম্পোনেন্ট ইনস্টল করা থাকলে, আপনাকে কম্পোনেন্ট হোস্ট করা সব মেশিনে প্রপার্টি ফাইল এডিট করতে হবে।

হিপ সাইজ পরিবর্তন করতে আপনি যেসব প্রপার্টি এডিট করেন, তা নিম্নলিখিত সারণীতে তালিকাভুক্ত করা আছে:

প্রপার্টি বিবরণ
bin_setenv_min_mem

ন্যূনতম হিপ সাইজ। ডিফল্ট মানটি ডিফল্ট এবং সাজেস্ট করা হিপ মেমরি সাইজ-এ তালিকাভুক্ত মানগুলির উপর ভিত্তি করে।

এই সেটিং Java -Xms বিকল্পের সাথে সম্পর্কিত।

bin_setenv_max_mem

সর্বাধিক হিপ সাইজ। ডিফল্ট মানটি ডিফল্ট এবং সাজেস্ট করা হিপ মেমরি সাইজ-এ তালিকাভুক্ত মানগুলির উপর ভিত্তি করে।

এই সেটিং Java -Xmx বিকল্পের সাথে সম্পর্কিত।

bin_setenv_meta_space_size

ডিফল্ট ক্লাস মেটাডেটা সাইজ। ডিফল্ট ভ্যালু হিসেবে bin_setenv_max_permsize-এর ভ্যালু সেট করা হয়, যা ডিফল্ট হিসেবে ১২৮ এমবি হয়। মেসেজ প্রসেসরে, Apigee সাজেস্ট করে যে আপনি এই ভ্যালু ২৫৬ MB বা ৫১২ MB হিসেবে সেট করুন, এটি আপনার ট্রাফিকের উপর নির্ভর করে।

এই সেটিং Java -XX:MetaspaceSize বিকল্পের সাথে সম্পর্কিত।

কোনও নোডে হিপ সাইজ প্রপার্টি সেট করার সময়, মেগাবাইট বোঝাতে "m" সাফিক্স ব্যবহার করুন, যেমন নিচের উদাহরণে দেখানো হয়েছে:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

প্রপার্টি ফাইলে ভ্যালু সেট করার পরে, কম্পোনেন্ট রিস্টার্ট করুন:

/opt/apigee/apigee-service/bin/apigee-service component restart

যেমন:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

অন্যান্য JVM প্রপার্টি পরিবর্তন করা

উপরে তালিকাভুক্ত প্রপার্টি দ্বারা নিয়ন্ত্রিত নয় এমন Java সেটিংসের জন্য, আপনি যেকোনও Edge কম্পোনেন্টের জন্য সংশ্লিষ্ট প্রপার্টি ফাইলে নিচে উল্লেখ করা বিষয়গুলিও সেট করতে পারবেন:

  • bin_setenv_ext_jvm_opts: অন্য প্রপার্টি দ্বারা নির্দিষ্ট করা হয়নি এমন যেকোনও Java প্রপার্টি সেট করুন। যেমন:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    তবে, bin_setenv_ext_jvm_opts ব্যবহার করে -Xms, -Xmx বা -XX:MetaspaceSize সেট করবেন না, কারণ এইসব ভ্যালু উপরে তালিকাভুক্ত প্রপার্টি দ্বারা নিয়ন্ত্রিত হয়।

প্রাইভেট ক্লাউড কম্পোনেন্টের জন্য মেমরি কনফিগার করা সংক্রান্ত অতিরিক্ত পরামর্শের জন্য, Edge ফোরামে এই নিবন্ধ দেখুন।