প্রাইভেট ক্লাউড 4.54.00-এর জন্য Edge-এ (যা Java 21-এ চলে), Message Processor ডিফল্ট হিসেবে Garbage-First Garbage Collector (G1GC) ব্যবহার করে। এই ডকুমেন্টে মেসেজ প্রসেসরের গার্বেজ কালেকশন সেটিংস কীভাবে কনফিগার ও যাচাই করতে হয় তা বর্ণনা করা হয়েছে।
মেসেজ প্রসেসরে গার্বেজ কালেক্টর কাস্টমাইজ করুন
এই বিভাগে Edge Message Processor-এ বিকল্প Garbage Collection (GC) সেটিংস কনফিগার করার পদ্ধতি বর্ণনা করা হয়েছে। আপনি মেসেজ প্রসেসরে GC প্রপার্টি আপডেট করে GC প্যারামিটার ম্যানেজ করেন। যেকোনও কনফিগারেশন প্রপার্টি অ্যাডজাস্ট করতে, কীভাবে Edge কনফিগার করবেন লিঙ্কে উল্লেখ করা টোকেন সিনট্যাক্স ব্যবহার করুন।
মেসেজ প্রসেসরে GC সেটিংস পরিবর্তন করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
GC প্রপার্টি চেক করুন
কনফিগার করা GC প্রপার্টি কীভাবে চেক করতে হয় তা নিম্নলিখিত ধাপগুলি থেকে জানতে পারবেন:
-
মেসেজ প্রসেসর সোর্স ডিরেক্টরিতে GC প্রপার্টি সার্চ করুন
/opt/apigee/edge-message-processor/sourceনিম্নলিখিত কমান্ড ব্যবহার করে:grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
কনফার্ম করুন যে এই কমান্ডের আউটপুট মেসেজ প্রসেসরের জন্য GC প্রপার্টির কনফিগারেশন
দেখাচ্ছে:
/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useZGC={T}conf_system_useZGC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}{T}{/T}ট্যাগের মধ্যে থাকা স্ট্রিং হল সেই প্রপার্টির নাম যা আপনি Message Processor-এর.propertiesফাইলে সেট করতে পারেন।
মেসেজ প্রসেসরে GC পরিবর্তন করা
Apigee মেসেজ প্রসেসরে GC সেটিংস কীভাবে পরিবর্তন করতে হয় তা নিম্নলিখিত ধাপে বর্ণনা করা হয়েছে:
-
এডিটরে মেসেজ প্রসেসর মেশিনে
/opt/apigee/customer/application/message-processor.propertiesফাইল খুলুন। ফাইলটি আগে থেকে না থাকলে, তৈরি করুন। যেমন:vi /opt/apigee/customer/application/message-processor.properties
-
আপনার টার্গেট প্রোফাইলের উপর ভিত্তি করে, পছন্দসই GC কনফিগারেশন লাইন যোগ করুন:
-
বিকল্প ক: কিছু পরিবর্তন সহ ডিফল্ট গার্বেজ কালেক্টর হিসেবে G1GC ব্যবহার করুন:
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
বিকল্প খ: জেনারেশনাল ZGC চালু করুন (আল্ট্রা-লো-লেটেন্সি
ডেপ্লয়মেন্টের জন্য ঐচ্ছিক):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
বিকল্প গ: সাধারণ GC সেটিং চালু করুন:
যেকোনও জেনেরিক GC প্রপার্টি কনফিগার করতে, কম্পোনেন্টের
.propertiesওভাররাইড ফাইলে (/opt/apigee/customer/application/message-processor.properties)bin_setenv_ext_jvm_optsসেট করুন এবং তারপর কম্পোনেন্টটি রিস্টার্ট করুন। যেমন:conf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
বিকল্প ক: কিছু পরিবর্তন সহ ডিফল্ট গার্বেজ কালেক্টর হিসেবে G1GC ব্যবহার করুন:
- আপনার করা পরিবর্তন সেভ করুন।
-
এই প্রপার্টি ফাইলের মালিক যে
apigeeব্যবহারকারী তা নিশ্চিত করুন। যেমন:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
নিম্নলিখিত কমান্ড ব্যবহার করে মেসেজ প্রসেসর রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- আপনার একাধিক মেসেজ প্রসেসর থাকলে, সবকটি মেসেজ প্রসেসরের জন্য এইসব ধাপ রিপিট করুন।
স্ট্রিং ডিডুপ্লিকেশন আপডেট করুন
ডিফল্ট হিসেবে, G1GC কনফিগারেশন UseStringDeduplication-কে
true-এ সেট করে, যা অভিন্ন String ভ্যালুকে একটি একক ক্যারেক্টার অ্যারে শেয়ার করার অনুমতি দিয়ে
জাভা হিপ মেমরি অ্যালোকেশন অপ্টিমাইজ করে। স্ট্রিং ডিডুপ্লিকেশন বন্ধ করতে,
conf_system_useStringDeduplication=false in
/opt/apigee/customer/application/message-processor.properties সেট করুন এবং
মেসেজ প্রসেসরে GC পরিবর্তন করুন
বিকল্পে বর্ণিত পদ্ধতি অনুযায়ী মেসেজ প্রসেসর রিস্টার্ট করুন।
মেসেজ প্রসেসরে GC কনফিগারেশন যাচাই করা
আপনার GC কনফিগারেশন পরিবর্তন মেসেজ প্রসেসরে প্রয়োগ করা হয়েছে কিনা তা যাচাই করতে:
-
/opt/apigee/edge-message-processor/confডিরেক্টরিতে GC প্রপার্টি সার্চ করুন এবং নতুন ভ্যালু দিয়ে সেট করা হয়েছে কিনা তা চেক করুন। যেমন:grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
যাচাই করুন যে
/opt/apigee/edge-message-processor/conf/system.propertiesআপনার নতুন কনফিগার করা ভ্যালু প্রতিফলিত করে। যেমন, Apigee ডিফল্ট GC সেটিংস এইভাবে দেখানো হয়:/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true /opt/apigee/edge-message-processor/conf/system.properties:useZGC=false /opt/apigee/edge-message-processor/conf/system.properties:g1gc.maxGCPauseMillis=200 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.initiatingHeapOccupancyPercent=45 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.g1ReservePercent=15 /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
-
যাচাই করুন যে রান করা মেসেজ প্রসেসর JVM প্রসেসটি প্রত্যাশিত
-XX:ফ্ল্যাগ দিয়ে শুরু করা হয়েছে:ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
Apigee Default G1GC-এর জন্য, কনফার্ম করুন যে কমান্ড লাইনে
এগুলি অন্তর্ভুক্ত আছে:
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
Generational ZGC-এর জন্য, কমান্ড লাইনে এগুলি আছে কিনা তা কনফার্ম করুন:
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
Apigee Default G1GC-এর জন্য, কনফার্ম করুন যে কমান্ড লাইনে
এগুলি অন্তর্ভুক্ত আছে:
- আপনি এখনও GC সেটিংস কনফিগার করতে না পারলে, Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।