راهنمای عملیات QPID

‫Edge for Private Cloud نسخه ۴.۵۳.۰۰ با Qpid Broker-J 8.0.6 ارائه می‌شود. این صفحه ملاحظات مربوط به حافظه و دیسک را برای جزء apigee-qpidd از Edge for Private Cloud (با کارگزار مبتنی بر جاوا) توضیح می‌دهد. بخش‌های زیر به‌طور خاص برای مورد استفاده Qpid در Apigee اعمال می‌شود و توضیح می‌دهد که چگونه Qpid را بااستفاده از سازوکارهای پیکربندی Apigee تنظیم کنید.

‫Qpid در Apigee

در Apigee، از Qpid در دو گردش کار اصلی استفاده می‌شود:

  • Analytics
  • درآمدزایی

در هر دوی این گردش‌های کار، «پردازنده پیام» پیام‌هایی تولید می‌کند که به‌صورت دسته‌ای جمع‌آوری و به Qpid ارسال می‌شوند. برای Analytics، پیام‌ها توسط Qpid-server خوانده می‌شوند؛ برای «درآمدزایی»، پیام‌ها توسط «سرور رده‌بندی» (بخشی از management-server) خوانده می‌شوند. پس‌از خوانده شدن، پیام‌های دسته‌ای از حالت دسته‌ای خارج می‌شوند و انتقال داده می‌شوند.

بخش‌های زیر پیکربندی‌های توصیه‌شده برای حافظه و دیسک با Qpid را شرح می‌دهد. این پیکربندی‌ها براساس اندازه پیام تکی ۲ کیلوبایتی برای Analytics یا درآمدزایی است. با اندازه دسته‌ای پیش‌فرض ۵۰، هر پیام در Qpid تقریباً ۱۰۰ کیلوبایت خواهد بود. ‫Apigee به پراکسی‌ها اجازه می‌دهد اطلاعات اضافی را به پیام (Analytics یا «درآمدزایی») تغییر دهند و اضافه کنند. در موارد حاد، این کار ممکن است اندازه یک پیام تکی و پیام دسته‌ای کلی را در Qpid به‌طور قابل‌توجهی تغییر دهد. اگرچه توصیه‌های کلی درباره حافظه و دیسک در بخش‌های زیر حتی در چنین مواردی نیز صادق است، ممکن است لازم باشد برای اطمینان از عملکرد روان، تغییرات بیشتری در Qpid انجام دهید.

حافظه

‫Qpid Broker از دو نوع حافظه استفاده می‌کند: حافظه خارج از پشته و حافظه پشته. ‫Qpid پیام‌ها را در حافظه خارج از پشته ذخیره می‌کند و از حافظه پشته برای وظایف داخلی خود، پیام‌های مستقیم به صف‌ها و مبادله‌ها، و غیره استفاده می‌کند. در اکثر شرایط، Apigee توصیه می‌کند که نسبت حافظه خارج از پشته به حافظه پشته را برای «کارگزار Qpid» روی ۳:۱ نگه دارید.

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

به‌طور پیش‌فرض، Apigee حافظه پشته و خارج از پشته «کارگزار Qpid» را براساس حافظه دردسترس در گره محاسبه می‌کند. حد نرم اسکریپت‌های Apigee برای ترکیب پشته و حافظه خارج از پشته Qpid Broker،‏ ۴ گیگابایت است. اگر می‌خواهید این محدودیت‌ها را ملغی کنید، می‌توانید از دو پیکربندی زیر برای تنظیم مقادیر خودتان برای حافظه پشته و حافظه خارج از پشته Qpid استفاده کنید.

  • پیکربندی حافظه پشته: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • پیکربندی حافظه خارج از پشته: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

برای اطلاعات درباره نحوه ملغی کردن پیکربندی‌ها، نحوه تغییر پیکربندی Qpid را ببینید.

برای اطلاعات بیشتر، به مرجع Apache Qpid برای حافظه مراجعه کنید.

دیسک

دایرکتوری داده‌های Qpid Broker $APIGEE_ROOT/data/apigee-qpidd است. گزارش‌های Qpid Broker در $APIGEE_ROOT/var/log/apigee-qpidd ذخیره می‌شود.

عملکرد سیستم فایل میزبان دایرکتوری داده برای عملکرد کلی Broker بسیار مهم است. برای بهترین عملکرد، دستگاهی را انتخاب کنید که تأخیر کم داشته باشد و برنامه‌های دیگر از آن استفاده نکنند.

«کارگزار Qpid» پیام‌هایش را در پوشه داده‌ها ماندگار می‌کند. به‌طور پیش‌فرض، کارگزار پیام‌ها را تا زمانی که سیستم فایل میزبان دایرکتوری داده‌ها ۸۰٪ پر شود می‌پذیرد. می‌توانید این آستانه را با ملغی کردن پیکربندی نشان‌داده‌شده در مثال زیر در هر گره Qpid تغییر دهید.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

در این مثال، وقتی سیستم فایل زیرین ۶۰٪ پر باشد، «کارگزار» پیام‌های جدید را رد می‌کند.

نحوه تغییر پیکربندی Qpid

برای تغییر پیکربندی Qpid:

  1. فایل زیر را ایجاد یا ویرایش کنید:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. پیکربندی را درصورت لزوم اضافه، حذف، یا اصلاح کنید. برای مثال، برای تغییر حداکثر حافظه پشته Qpid Broker به ۶ گیگابایت، پیکربندی زیر را در فایل ملغی اضافه کنید:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. تغییرات را ذخیره کنید و مطمئن شوید که فایل متعلق به کاربر apigee است و قابل‌خواندن است:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. فرایند qpidd را بازراه‌اندازی کنید:
    apigee-service apigee-qpidd restart