در Edge for Private Cloud نسخه ۴.۵۴.۰۰ (که در Java 21 اجرا میشود)، «پردازشگر پیام» بهطور پیشفرض از Garbage-First Garbage Collector (G1GC) استفاده میکند. این سند نحوه پیکربندی و درستیسنجی تنظیمات جمعآوری زباله در «پردازشگر پیام» را شرح میدهد.
سفارشیسازی کردن جمعآوریکننده زباله در «پردازشگرهای پیام»
این بخش روش پیکربندی تنظیمات جایگزین «جمعآوری زباله» (GC) را در «پردازشگر پیام Edge» شرح میدهد. پارامترهای GC را با بهروزرسانی ویژگیهای GC در «پردازشگر پیام» مدیریت میکنید. برای تنظیم هریک از داراییهای پیکربندی، از دستورگان نشانه تعریفشده در نحوه پیکربندی Edge استفاده کنید.
برای اصلاح تنظیمات GC در «پردازشگرهای پیام»، مراحل زیر را انجام دهید:
بررسی ویژگی GC
مراحل زیر نحوه بررسی کردن داراییهای پیکربندیشده GC را شرح میدهد:
-
بااستفاده از فرمان زیر، ویژگیهای GC را در فهرست راهنمای منبع «پردازشگر پیام» جستجو کنید:
/opt/apigee/edge-message-processor/sourcegrep -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}نام دارایی است که میتوانید در فایل.properties«پردازشگر پیام» تنظیم کنید.
اصلاح GC در «پردازشگرهای پیام»
مراحل زیر نحوه اصلاح تنظیمات GC در «پردازشگرهای پیام Apigee» را شرح میدهد:
-
فایل
/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
-
گزینه ب: فعال کردن Generational ZGC (اختیاری برای استقرارهای با تأخیر بسیار کم):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
گزینه ج: فعال کردن تنظیمات عمومی GC:
bin_setenv_ext_jvm_optsرا در فایل لغو.propertiesعنصر (/opt/apigee/customer/application/message-processor.properties) تنظیم کنید تا هریک از داراییهای عمومی GC را پیکربندی کنید، و سپس عنصر را بازراهاندازی کنید. برای مثال: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 تنظیم میکند که تخصیص حافظه پشتهای Java را با اجازه دادن به
مقادیر String یکسان برای همرسانی آرایه تکنویسهای بهینهسازی میکند. برای غیرفعال کردن حذف تکراری رشته،
conf_system_useStringDeduplication=false را در
/opt/apigee/customer/application/message-processor.properties تنظیم کنید و
«پردازشگر پیام» را، همانطور که در
اصلاح GC در «پردازشگرهای پیام» توضیح داده شده است،
بازراهاندازی کنید.
درحال درستیسنجی پیکربندی GC در «پردازشگرهای پیام»
برای تأیید اینکه تغییرات پیکربندی GC در «پردازشگر پیام» اعمال شده است:
-
دارایی GC را در
/opt/apigee/edge-message-processor/confفهرست راهنما جستجو کنید و بررسی کنید که با مقدار جدید تنظیم شده باشد. برای مثال:grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
تأیید کنید که
/opt/apigee/edge-message-processor/conf/system.propertiesمقادیر پیکربندیشده جدیدتان را منعکس میکند. برای مثال، تنظیمات Apigee Default 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 تماس بگیرید.