درحال اصلاح تنظیمات حافظه Java

بسته به ترافیک و الزامات پردازش، ممکن است لازم باشد اندازه حافظه پشته یا اندازه فراداده کلاس را برای گره‌هایتان که اجزای «ابر خصوصی» مبتنی بر Java را اجرا می‌کنند تغییر دهید.

این بخش اندازه‌های پیش‌فرض و توصیه‌شده حافظه پشته جاوا و همچنین فرایند تغییر پیش‌فرض‌ها را ارائه می‌دهد. در آخر، این بخش نحوه تغییر سایر تنظیمات JVM را بااستفاده از فایل‌های ویژگی‌ها توضیح می‌دهد.

اندازه‌های حافظه پشته پیش‌فرض و توصیه‌شده

جدول زیر اندازه‌های پیش‌فرض و توصیه‌شده حافظه پشته جاوا را برای عناصر «ابر خصوصی» مبتنی بر جاوا فهرست می‌کند:

مؤلفه نام فایل «دارایی‌ها» پیش‌فرض
اندازه پشته
توصیه‌شده
اندازه پشته
زمان اجرا
Cassandra نامربوط به‌طور خودکار پیکربندی شد۱ به‌طور خودکار پیکربندی شد۱
پردازشگر پیام message‑processor.properties ‫۵۱۲ مگابایت ۳ گیگابایت - ۶ گیگابایت۲
رهیاب router.properties ‫۵۱۲ مگابایت ‫۵۱۲ مگابایت
Analytics
سرور Postgres postgres‑server.properties ‫۵۱۲ مگابایت ‫۵۱۲ مگابایت
سرور Qpid qpid‑server.properties ‫۵۱۲ مگابایت ‫۲ تا ۴ گیگابایت
مدیریت
سرور مدیریت management‑server.properties ‫۵۱۲ مگابایت ‫۵۱۲ مگابایت
رابط کاربری ui.properties ‫۵۱۲ مگابایت ‫۵۱۲ مگابایت
SymasLDAP نامربوط برنامه بومی۳ برنامه بومی۳
نگهبان باغ‌وحش zookeeper.properties ‫۲۰۴۸ مگابایت ‫۲۰۴۸ مگابایت
یادداشت‌ها

۱ وقتی Cassandra راه‌اندازی می‌شود، به‌طور پویا حداکثر اندازه پشته را محاسبه می‌کند. درحال‌حاضر، این مقدار نصف حافظه کل سیستم است، با حداکثر ۸۱۹۲ مگابایت. برای اطلاعات درباره تنظیم اندازه پشته، تغییر اندازه حافظه پشته را ببینید.

۲ برای «پردازشگرهای پیام»، Apigee توصیه می‌کند اندازه پشته را بین ۳ تا ۶ گیگابایت تنظیم کنید. اندازه پشته را فقط پس‌از انجام آزمایش‌های عملکردی به بیش‌از ۶ گیگابایت افزایش دهید.

اگر درطول آزمایش عملکرد، استفاده از پشته به حداکثر حد مجاز نزدیک شود، حداکثر حد مجاز را افزایش دهید. برای اطلاعات درباره تنظیم اندازه پشته، به تغییر اندازه حافظه پشته مراجعه کنید.

۳ همه عناصر «ابر خصوصی» در جاوا پیاده‌سازی نشده‌اند. زیرا برنامه‌هایی که به‌صورت بومی در پلاتفرم میزبان اجرا می‌شوند مبتنی بر جاوا نیستند و اندازه‌های پشته جاوا پیکربندی‌پذیر ندارند؛ درعوض، برای مدیریت حافظه به سیستم میزبان متکی هستند.

برای تعیین اینکه Apigee توصیه می‌کند چه مقدار حافظه کل به عناصر مبتنی بر Java در یک گره اختصاص دهید، مقادیر فهرست‌شده در بالا را برای هر عنصر در آن گره اضافه کنید. برای مثال، اگر گره شما میزبان هر دو سرور Postgres و Qpid باشد، Apigee توصیه می‌کند که تخصیص حافظه ترکیبی شما بین ۲٫۵ گیگابایت و ۴٫۵ گیگابایت باشد.

برای فهرست سخت‌افزارهای موردنیاز (مثل RAM)، به ملزومات نصب مراجعه کنید.

تغییر اندازه حافظه پشته

برای تغییر تنظیمات حافظه پشته، فایل ویژگی‌های مؤلفه را ویرایش کنید. برای مثال، برای «پردازشگر پیام»، فایل /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 تنظیم شده است که مقدار پیش‌فرض آن ۱۲۸ مگابایت است. در «پردازشگر پیام»، Apigee توصیه می‌کند این مقدار را بسته به ترافیکتان روی ۲۵۶ مگابایت یا ۵۱۲ مگابایت تنظیم کنید.

این تنظیم با گزینه -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

تغییر دادن خصوصیات دیگر ماشین مجازی جاوا

برای تنظیمات 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 استفاده نکنید، زیرا این مقادیر توسط دارایی‌های فهرست‌شده در بالا کنترل می‌شوند.

برای نکته‌های تکمیلی درباره پیکربندی حافظه برای عناصر «ابر خصوصی»، به این مقاله در انجمن‌های Edge مراجعه کنید.