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

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

Qpid در Apigee

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

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

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

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

حافظه

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

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

به‌طور پیش‌فرض، Apigee حافظه توده‌ای و غیرتوده‌ای Qpid Broker را براساس حافظه دردسترس در گره محاسبه می‌کند. برنامه‌های 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