QPID অপারেশন গাইড

Edge for Private Cloud ভার্সন 4.52.02, Qpid Broker-J 8.0.6-এর সাথে শিপ করে। এই পৃষ্ঠায় Edge for Private Cloud (Java-ভিত্তিক ব্রোকার সহ)-এর apigee-qpidd কম্পোনেন্টের জন্য মেমরি ও ডিস্ক সংক্রান্ত বিষয়গুলি বর্ণনা করা হয়েছে। নিচের বিভাগগুলি বিশেষভাবে Apigee-এর Qpid ব্যবহারের ক্ষেত্রে প্রযোজ্য এবং Apigee-এর কনফিগারেশন মেকানিজম ব্যবহার করে কীভাবে Qpid টিউন করতে হয় তা ব্যাখ্যা করে।

Apigee-তে Qpid

Apigee-তে, দুটি প্রধান ওয়ার্কফ্লোতে Qpid ব্যবহার করা হয়:

  • Analytics
  • মনিটাইজেশন

এই দুটি ওয়ার্কফ্লোতেই, মেসেজ প্রসেসর মেসেজ তৈরি করে, যা ব্যাচে সংগ্রহ করা হয় এবং Qpid-এ পুশ করা হয়। অ্যানালিটিক্সের জন্য, Qpid-server মেসেজ পড়ে; মনিটাইজেশনের জন্য, Rating Server (management-server-এর অংশ) মেসেজ পড়ে। পড়া হয়ে গেলে, ব্যাচ করা মেসেজগুলি আনব্যাচ করা হয় এবং ইনজেস্ট করা হয়।

নিম্নলিখিত বিভাগে Qpid-এর সাথে মেমরি ও ডিস্কের জন্য সাজেস্ট করা কনফিগারেশন বর্ণনা করা হয়েছে। Analytics বা মনিটাইজেশনের জন্য এই কনফিগারেশনগুলি ২কেবি সাইজের একটি মেসেজের উপর ভিত্তি করে করা হয়। ৫০-এর ডিফল্ট ব্যাচ সাইজ সহ, Qpid-এর প্রতিটি মেসেজ আনুমানিক ১০০ কেবি হবে। Apigee প্রক্সিগুলিকে মেসেজে অতিরিক্ত তথ্য পরিবর্তন ও যোগ করতে দেয় (Analytics বা মনিটাইজেশন)। চরম ক্ষেত্রে, এটি একটি সিঙ্গেল মেসেজ এবং Qpid-এ সামগ্রিক ব্যাচ করা মেসেজের সাইজ উল্লেখযোগ্যভাবে পরিবর্তন করতে পারে। নিচের বিভাগে মেমরি ও ডিস্ক সংক্রান্ত সাধারণ সাজেশন এই ধরনের ক্ষেত্রেও প্রযোজ্য হলেও, সাবলীল অপারেশন নিশ্চিত করতে আপনাকে Qpid-এ অতিরিক্ত পরিবর্তন করতে হতে পারে।

মেমরি

Qpid Broker দুই ধরনের মেমরি ব্যবহার করে: অফ-হিপ মেমরি ও হিপ মেমরি। Qpid অফ-হিপ মেমরিতে মেসেজ স্টোর করে এবং নিজস্ব ইন্টার্নাল টাস্ক, কিউ ও এক্সচেঞ্জে সরাসরি মেসেজ পাঠানো ইত্যাদির জন্য হিপ মেমরি ব্যবহার করে। বেশিরভাগ ক্ষেত্রে, Apigee সাজেস্ট করে যে আপনি Qpid ব্রোকারের জন্য অফ-হিপ ও হিপ মেমরির মধ্যে ৩:১ অনুপাত বজায় রাখুন।

অফ-হিপ মেমরিতে থাকা মেসেজ ডিস্কে থেকে যায়। এছাড়াও, অফ-হিপ মেমরির মোট ব্যবহার একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করলে, Qpid-কে ডিস্কে মেসেজ ওভারফ্লো করার জন্য কনফিগার করা হয়।

ডিফল্ট হিসেবে, নোডে উপলভ্য মেমরির উপর ভিত্তি করে Apigee, Qpid ব্রোকারের হিপ ও অফ-হিপ মেমরি গণনা করে। Apigee-এর স্ক্রিপ্টে Qpid ব্রোকারের হিপ এবং অফ-হিপ মেমরির জন্য সম্মিলিতভাবে ৪ জিবি সফট লিমিট আছে। আপনি যদি এই সীমা ওভাররাইড করতে চান, তাহলে 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-এ সেভ করা হয়।

ডেটা ডিরেক্টরি হোস্ট করা ফাইল সিস্টেমের পারফর্ম্যান্স, সামগ্রিকভাবে ব্রোকারের পারফর্ম্যান্সের ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ। সবচেয়ে ভালো পারফর্ম্যান্স পেতে, এমন ডিভাইস বেছে নিন যাতে লেটেন্সি কম এবং যেটি অন্য কোনও অ্যাপ্লিকেশনের দ্বারা ব্যবহার করা হয় না।

Qpid Broker ডেটা ডিরেক্টরিতে এর মেসেজ সেভ করে রাখে। ডিফল্ট হিসেবে, ডেটা ডিরেক্টরি হোস্ট করা ফাইল সিস্টেম ৮০% পূর্ণ না হওয়া পর্যন্ত ব্রোকার মেসেজ গ্রহণ করবে। প্রতিটি Qpid নোডে নিচের উদাহরণে দেখানো কনফিগারেশন ওভাররাইড করে আপনি এই থ্রেশহোল্ড পরিবর্তন করতে পারবেন।

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

এই উদাহরণে, অন্তর্নিহিত ফাইল সিস্টেম ৬০% পূর্ণ হয়ে গেলে ব্রোকার নতুন মেসেজ প্রত্যাখ্যান করে।

কীভাবে Qpid কনফিগারেশন পরিবর্তন করতে হয়

Qpid কনফিগারেশন পরিবর্তন করতে:

  1. নিম্নলিখিত ফাইল তৈরি বা এডিট করুন:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. প্রয়োজনমতো কনফিগারেশন যোগ করুন, সরিয়ে দিন বা পরিবর্তন করুন। যেমন, Qpid ব্রোকারের সর্বাধিক হিপ মেমরি ৬ জিবি করতে, ফাইলে নিম্নলিখিত কনফিগারেশন ওভাররাইড যোগ করুন:
    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 রিস্টার্ট