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

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

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

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

يسرد الجدول التالي أحجام ذاكرة Java التلقائية والمقترَحة لمكوّنات Private Cloud المستنِدة إلى لغة Java:

المكوِّن اسم ملف "الخصائص" حجم ذاكرة التخزين المؤقت
التلقائي
حجم الذاكرة
المُقترَح
وقت التشغيل
من الفئة العمرية 31-45 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 تحسب Cassandra الحد الأقصى لحجم ذاكرة التخزين المؤقت عند بدء تشغيله. وفي الوقت الحالي، تمثّل هذه المساحة نصف إجمالي ذاكرة النظام، مع سعة أقصاها 8192 ميغابايت. للحصول على معلومات حول ضبط حجم كومة الذاكرة المؤقتة، يُرجى الاطّلاع على تغيير حجم الذاكرة.

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

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

3 لا يتم تنفيذ جميع مكوّنات السحابة الإلكترونية الخاصة في لغة 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

تمثّل هذه السمة الحد الأدنى لحجم الذاكرة. يستند الإعداد التلقائي إلى القيم المدرَجة في أحجام الذاكرة التلقائية والمقترَحة لكومة الذاكرة المؤقتة.

ويتجاوب هذا الإعداد مع خيار -Xms في لغة البرمجة Java.

bin_setenv_max_mem

تمثّل هذه السمة الحد الأقصى لحجم الذاكرة. يستند الإعداد التلقائي إلى القيم المدرَجة في أحجام الذاكرة التلقائية والمقترَحة لكومة الذاكرة المؤقتة.

ويتجاوب هذا الإعداد مع خيار -Xmx في لغة البرمجة Java.

bin_setenv_meta_space_size

الحجم التلقائي للبيانات الوصفية للفئة. يتم ضبط القيمة التلقائية على bin_setenv_max_permsize التي تبلغ 128 ميغابايت تلقائيًا. في معالج الرسائل، يقترح Apigee ضبط هذه القيمة على 256 ميغابايت أو 512 ميغابايت، بناءً على عدد الزيارات.

ويتجاوب هذا الإعداد مع خيار -XX:MetaspaceSize في لغة البرمجة Java.

عند ضبط سمات حجم الذاكرة في عقدة، استخدِم اللاحقة "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.