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

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

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

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

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

المكوِّن اسم ملف الخصائص التلقائي
حجم الذاكرة
حجم الذاكرة المقترَحة
وقت التشغيل
كاساندرا 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 ميغابايت
واجهة المستخدم ui.properties 512 ميغابايت 512 ميغابايت
OpenLDAP timing fixed in amara تطبيق محلي3 تطبيق محلي3
حارس حديقة حيوان zookeeper.properties 2048 ميغابايت 2048 ميغابايت
Notes

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

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

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

3 لا يتم تنفيذ جميع مكوّنات Cloud Private Cloud بلغة 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.