تعديل إعدادات ذاكرة Java

استنادًا إلى متطلبات عدد الزيارات والمعالجة، قد تحتاج إلى تغيير حجم الذاكرة المؤقتة أو حجم البيانات الوصفية للفئة للعُقد التي تشغّل مكوّنات Private Cloud المستندة إلى Java.

يوفّر هذا القسم أحجام الذاكرة التلقائية والمقترَحة لأجزاء من الذاكرة في Java، بالإضافة إلى عملية تغيير الإعدادات التلقائية. أخيرًا، يوضّح هذا القسم كيفية تغيير إعدادات JVM الأخرى باستخدام ملفات الخصائص.

أحجام ذاكرة الكومة التلقائية والمقترَحة

يسرد الجدول التالي أحجام ذاكرة كومة Java التلقائية والموصى بها لمكونات السحابة الخاصة المستندة إلى Java:

المكوّن اسم ملف الخصائص Default
Heap Size
حجم الذاكرة المكدّسة
المقترَح
وقت التشغيل
Cassandra timing fixed in amara تم ضبطها تلقائيًا1 تم ضبطها تلقائيًا1
معالج الرسائل message‑processor.properties ‫512 ميغابايت ‫3 غيغابايت - 6 غيغابايت2
جهاز التوجيه router.properties ‫512 ميغابايت ‫512 ميغابايت
"إحصاءات"
خادم Postgres postgres‑server.properties ‫512 ميغابايت ‫512 ميغابايت
خادم Qpid qpid‑server.properties ‫512 ميغابايت ‫2 غيغابايت - 4 غيغابايت
الإدارة
خادم الإدارة management‑server.properties ‫512 ميغابايت ‫512 ميغابايت
واجهة مستخدم Edge الجديدة (edge-management-ui) timing fixed in amara تطبيق أصلي3 تطبيق أصلي3
SymasLDAP timing fixed in amara تطبيق أصلي3 تطبيق أصلي3
حارس حديقة حيوانات zookeeper.properties ‫2048 ميغابايت ‫2048 ميغابايت
ملاحظات

1 تحسب Cassandra ديناميكيًا الحد الأقصى لحجم الذاكرة المؤقتة عند بدء تشغيلها. في الوقت الحالي، يبلغ هذا الحد نصف إجمالي ذاكرة النظام، مع حد أقصى يبلغ 8192 ميغابايت. للحصول على معلومات عن ضبط حجم الذاكرة المؤقتة، يُرجى الاطّلاع على تغيير حجم الذاكرة المؤقتة.

2 بالنسبة إلى معالِجات الرسائل، تنصح Apigee بضبط حجم الذاكرة الديناميكية على قيمة تتراوح بين 3 غيغابايت و6 غيغابايت. لا تزد حجم الذاكرة المؤقتة عن 6 غيغابايت إلا بعد إجراء اختبارات الأداء.

إذا اقترب استخدام الذاكرة المؤقتة من الحد الأقصى أثناء اختبار الأداء، عليك زيادة الحد الأقصى. للحصول على معلومات حول ضبط حجم الذاكرة الديناميكية، يُرجى الاطّلاع على تغيير حجم الذاكرة الديناميكية.

‫3 لا يتم تنفيذ جميع مكوّنات Private Cloud في Java. وبما أنّ التطبيقات التي تعمل بشكل أصلي على النظام الأساسي المضيف ليست مستندة إلى Java، لا يمكن ضبط أحجام مساحة التخزين المؤقت في Java، بل تعتمد على نظام التشغيل المضيف لإدارة الذاكرة.

لتحديد إجمالي مقدار الذاكرة التي تنصح Apigee بتخصيصها لمكوّناتك المستندة إلى Java على إحدى العُقد، أضِف القيم المدرَجة أعلاه لكل مكوّن على تلك العُقدة. على سبيل المثال، إذا كانت العقدة تستضيف خادمَي Postgres وQpid، تنصح Apigee بأن يكون تخصيص الذاكرة المجمّعة بين 2.5 غيغابايت و4.5 غيغابايت.

للحصول على قائمة بالأجهزة المطلوبة (مثل ذاكرة الوصول العشوائي)، يُرجى الاطّلاع على متطلبات التثبيت.

تغيير أحجام الذاكرة الديناميكية

لتغيير إعدادات ذاكرة الكومة، عدِّل ملف الخصائص الخاص بالمكوّن. على سبيل المثال، بالنسبة إلى معالج الرسائل، عدِّل ملف /opt/apigee/customer/application/message-processor.properties.

إذا لم يكن الملف message-processor.properties متوفّرًا، أو إذا لم يكن الملف .properties المقابل لأي مكوّن من مكوّنات Edge متوفّرًا، أنشئ الملف ثم غيِّر ملكيته إلى المستخدم "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، والتي تكون تلقائيًا 128 ميغابايت. في "معالج الرسائل"، تنصح Apigee بضبط هذه القيمة على 256 ميغابايت أو 512 ميغابايت، حسب عدد الزيارات.

يتوافق هذا الإعداد مع خيار 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 لأنّ هذه القيم يتم التحكّم فيها من خلال السمات المذكورة أعلاه.

للحصول على نصائح إضافية حول ضبط الذاكرة لمكوّنات Private Cloud، يُرجى الاطّلاع على هذه المقالة في منتديات Edge.