Amazon OpenSearch পরিষেবার জন্য ব্যাকপ্রেশার এবং ভর্তি নিয়ন্ত্রণের সাথে উন্নত স্থিতিস্থাপকতা | আমাজন ওয়েব সার্ভিসেস

Amazon OpenSearch পরিষেবার জন্য ব্যাকপ্রেশার এবং ভর্তি নিয়ন্ত্রণের সাথে উন্নত স্থিতিস্থাপকতা | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 2723961

আমাজন ওপেন সার্চ সার্ভিস এটি একটি পরিচালিত পরিষেবা যা AWS ক্লাউডে ওপেন সার্চ ক্লাস্টারগুলিকে সুরক্ষিত, স্থাপন এবং পরিচালনা করা সহজ করে তোলে৷ গত বছর, আমরা পরিচয় করিয়ে দিয়েছিলাম শার্ড ইনডেক্সিং ব্যাকপ্রেশার এবং ভর্তি নিয়ন্ত্রণ, যা বেছে বেছে অনুরোধগুলি প্রত্যাখ্যান করার জন্য ক্লাস্টার সংস্থান এবং আগত ট্র্যাফিক নিরীক্ষণ করে যা অন্যথায় স্থিতিশীলতার ঝুঁকি তৈরি করে যেমন মেমরির বাইরে এবং মেমরির বিতর্ক, CPU স্যাচুরেশন এবং GC ওভারহেড এবং আরও অনেক কিছুর কারণে ক্লাস্টারের কার্যকারিতা প্রভাবিত করে।

আমরা এখন ওপেনসার্চ পরিষেবার জন্য অনুসন্ধান ব্যাকপ্রেশার এবং CPU-ভিত্তিক ভর্তি নিয়ন্ত্রণ প্রবর্তন করতে উত্তেজিত, যা ক্লাস্টারগুলির স্থিতিস্থাপকতাকে আরও বাড়িয়ে তোলে। এই উন্নতিগুলি সমস্ত OpenSearch সংস্করণ 1.3 বা উচ্চতরের জন্য উপলব্ধ।

অনুসন্ধান ব্যাকপ্রেশার

ব্যাকপ্রেশার একটি সিস্টেমকে কাজের সাথে অভিভূত হতে বাধা দেয়। এটি ক্র্যাশ এবং ডেটা ক্ষতি রোধ করতে, কর্মক্ষমতা উন্নত করতে এবং সিস্টেমের সম্পূর্ণ ব্যর্থতা এড়াতে ট্র্যাফিক রেট নিয়ন্ত্রণ করে বা অতিরিক্ত লোড কমিয়ে তা করে।

অনুসন্ধান ব্যাকপ্রেশার হল একটি নোড যখন চাপের মধ্যে থাকে তখন ইন-ফ্লাইট রিসোর্স-ইনটেনসিভ অনুসন্ধান অনুরোধগুলি সনাক্ত এবং বাতিল করার একটি প্রক্রিয়া। এটি অস্বাভাবিকভাবে উচ্চ সম্পদ ব্যবহার (যেমন জটিল প্রশ্ন, ধীরগতির প্রশ্ন, অনেক হিট বা ভারী একত্রিতকরণ) সহ অনুসন্ধান কাজের চাপের বিরুদ্ধে কার্যকর যা অন্যথায় নোড ক্র্যাশ হতে পারে এবং ক্লাস্টারের স্বাস্থ্যকে প্রভাবিত করতে পারে।

অনুসন্ধান ব্যাকপ্রেশার টাস্ক রিসোর্স ট্র্যাকিং ফ্রেমওয়ার্কের উপরে তৈরি করা হয়েছে, যা প্রতিটি টাস্কের রিসোর্স ব্যবহার নিরীক্ষণের জন্য একটি সহজে ব্যবহারযোগ্য API প্রদান করে। অনুসন্ধান ব্যাকপ্রেশার একটি ব্যাকগ্রাউন্ড থ্রেড ব্যবহার করে যা পর্যায়ক্রমে নোডের রিসোর্স ব্যবহার পরিমাপ করে এবং সিপিইউ সময়, হিপ বরাদ্দ এবং অতিবাহিত সময়ের মতো বিষয়গুলির উপর ভিত্তি করে প্রতিটি ইন-ফ্লাইট অনুসন্ধান কাজের জন্য একটি বাতিল স্কোর নির্ধারণ করে। একটি উচ্চতর বাতিলকরণ স্কোর আরও সম্পদ-নিবিড় অনুসন্ধান অনুরোধের সাথে মিলে যায়। নোডগুলি দ্রুত পুনরুদ্ধার করার জন্য অনুসন্ধানের অনুরোধগুলি তাদের বাতিলকরণ স্কোরের নিচের ক্রম অনুসারে বাতিল করা হয়, তবে বাতিলকরণের সংখ্যা সীমিত হারে নষ্ট কাজ এড়াতে।

নিম্নলিখিত চিত্রটি অনুসন্ধান ব্যাকপ্রেশার ওয়ার্কফ্লোকে চিত্রিত করে।

অনুসন্ধানের অনুরোধ বাতিল করার পরে একটি HTTP 429 "অনেক অনুরোধ" স্ট্যাটাস কোড ফেরত দেয়। OpenSearch আংশিক ফলাফল প্রদান করে যদি শুধুমাত্র কিছু শার্ড ব্যর্থ হয় এবং আংশিক ফলাফল অনুমোদিত হয়। নিম্নলিখিত কোড দেখুন:

{ "error": { "root_cause": [ { "type": "task_cancelled_exception", "reason": "cancelled task with reason: heap usage exceeded [403mb >= 77.6mb], elapsed time exceeded [1.7m >= 45s]" } ], "type": "search_phase_execution_exception", "reason": "SearchTask was cancelled", "phase": "fetch", "grouped": true, "failed_shards": [ { "shard": 0, "index": "nyc_taxis", "node": "9gB3PDp6Speu61KvOheDXA", "reason": { "type": "task_cancelled_exception", "reason": "cancelled task with reason: heap usage exceeded [403mb >= 77.6mb], elapsed time exceeded [1.7m >= 45s]" } } ], "caused_by": { "type": "task_cancelled_exception", "reason": "cancelled task with reason: heap usage exceeded [403mb >= 77.6mb], elapsed time exceeded [1.7m >= 45s]" } }, "status": 429
}

সার্চ ব্যাকপ্রেশার মনিটরিং

আপনি নোড পরিসংখ্যান API ব্যবহার করে বিস্তারিত অনুসন্ধান ব্যাকপ্রেশার অবস্থা নিরীক্ষণ করতে পারেন:

curl -X GET "https://{endpoint}/_nodes/stats/search_backpressure"

আপনি ব্যবহার করে বাতিলকরণের ক্লাস্টার-ওয়াইড সারাংশ দেখতে পারেন অ্যামাজন ক্লাউডওয়াচ. নিম্নলিখিত মেট্রিক্স এখন উপলব্ধ ES/ওপেন সার্চ সার্ভিস নামস্থান:

  • সার্চ টাস্ক বাতিল করা হয়েছে - সমন্বয়কারী নোড বাতিলকরণের সংখ্যা
  • SearchShardTask বাতিল করা হয়েছে - ডেটা নোড বাতিলের সংখ্যা

নিম্নলিখিত স্ক্রিনশটটি ক্লাউডওয়াচ কনসোলে এই মেট্রিকগুলি ট্র্যাক করার একটি উদাহরণ দেখায়৷

CPU-ভিত্তিক ভর্তি নিয়ন্ত্রণ

ভর্তি নিয়ন্ত্রণ হল একটি গেটকিপিং মেকানিজম যা সক্রিয়ভাবে একটি নোডে অনুরোধের সংখ্যাকে তার বর্তমান ক্ষমতার উপর ভিত্তি করে সীমিত করে, উভয়ই জৈব বৃদ্ধি এবং ট্রাফিক বৃদ্ধির জন্য।

JVM মেমরির চাপ এবং অনুরোধের আকার থ্রেশহোল্ড ছাড়াও, এটি এখন ইনকামিং প্রত্যাখ্যান করতে প্রতিটি নোডের রোলিং গড় CPU ব্যবহার নিরীক্ষণ করে _search এবং _bulk অনুরোধ. এটি হট স্পট, কর্মক্ষমতা সমস্যা, অনুরোধ টাইমআউট এবং অন্যান্য ক্যাসকেডিং ব্যর্থতার দিকে পরিচালিত অনেক অনুরোধের সাথে নোডগুলিকে অভিভূত হতে বাধা দেয়। অত্যধিক অনুরোধ প্রত্যাখ্যান করার পরে একটি HTTP 429 "অনেক অনুরোধ" স্ট্যাটাস কোড ফেরত দেয়।

HTTP 429 ত্রুটিগুলি পরিচালনা করা

আপনি যদি নোডে অতিরিক্ত ট্র্যাফিক পাঠান তবে আপনি HTTP 429 ত্রুটি পাবেন। এটি হয় অপর্যাপ্ত ক্লাস্টার রিসোর্স, রিসোর্স-ইনটেনসিভ সার্চ রিকোয়েস্ট, অথবা কাজের চাপে অনিচ্ছাকৃত স্পাইক নির্দেশ করে।

অনুসন্ধান ব্যাকপ্রেশার প্রত্যাখ্যানের কারণ প্রদান করে, যা রিসোর্স-নিবিড় অনুসন্ধান অনুরোধগুলিকে সূক্ষ্ম-টিউন করতে সাহায্য করতে পারে। ট্রাফিক স্পাইকের জন্য, আমরা এক্সপোনেনশিয়াল ব্যাকঅফ এবং জিটার সহ ক্লায়েন্ট-সাইড পুনরায় চেষ্টা করার পরামর্শ দিই।

অতিরিক্ত প্রত্যাখ্যানগুলি ডিবাগ করতে আপনি এই সমস্যা সমাধানের নির্দেশিকাগুলিও অনুসরণ করতে পারেন:

উপসংহার

অনুসন্ধান ব্যাকপ্রেশার হল অতিরিক্ত লোড কমানোর জন্য একটি প্রতিক্রিয়াশীল প্রক্রিয়া, যখন ভর্তি নিয়ন্ত্রণ হল একটি সক্রিয় প্রক্রিয়া যাতে একটি নোডে অনুরোধের সংখ্যা সীমিত করা যায় তার ক্ষমতার বাইরে। একটি OpenSearch ক্লাস্টারের সামগ্রিক স্থিতিস্থাপকতা উন্নত করতে উভয়ই একসাথে কাজ করে।

অনুসন্ধান ব্যাকপ্রেশার পাওয়া যায় ওপেনসার্চ, এবং আমরা সবসময় খুঁজছি বাহ্যিক অবদান. আপনি উল্লেখ করতে পারেন জন্য RFC শুরু করতে.


লেখক সম্পর্কে

কেতন ভার্মা অ্যামাজন ওপেনসার্চ সার্ভিসে কাজ করা একজন সিনিয়র এসডিই। তিনি বৃহৎ-স্কেল বিতরণ সিস্টেম নির্মাণ, কর্মক্ষমতা উন্নত, এবং সহজ বিমূর্ততা সঙ্গে জটিল ধারণা সরলীকরণ সম্পর্কে উত্সাহী. কাজের বাইরে, তিনি পড়তে পছন্দ করেন এবং তার বাড়ির বারিস্তা দক্ষতা উন্নত করেন।

সুরেশ এন এস অ্যামাজন ওপেনসার্চ সার্ভিসে কাজ করা একজন সিনিয়র এসডিই। তিনি বৃহৎ পরিসরে বিতরণ ব্যবস্থায় সমস্যা সমাধানের প্রতি আগ্রহী।

প্রীতকুমার লাদানী অ্যামাজন ওপেনসার্চ সার্ভিসে কাজ করা একটি SDE-2। তিনি ওপেন সোর্স সফ্টওয়্যার ডেভেলপমেন্টে অবদান রাখতে পছন্দ করেন এবং বিতরণ করা সিস্টেম সম্পর্কে উত্সাহী। তিনি একজন অপেশাদার ব্যাডমিন্টন খেলোয়াড় এবং ট্রেকিং উপভোগ করেন।

বুখতাওয়ার খান আমাজন ওপেন সার্চ সার্ভিসে কর্মরত একজন প্রধান প্রকৌশলী। তিনি বিতরণকৃত এবং স্বায়ত্তশাসিত ব্যবস্থা গড়ে তুলতে আগ্রহী। তিনি একজন রক্ষণাবেক্ষণকারী এবং OpenSearch-এ সক্রিয় অবদানকারী।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস বিগ ডেটা

Apache Flink এর জন্য Amazon পরিচালিত পরিষেবার জন্য মেট্রিক-ভিত্তিক এবং নির্ধারিত স্কেলিং সক্ষম করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 3055929
সময় স্ট্যাম্প: জানুয়ারী 10, 2024

অ্যামাজন EMR অ্যামাজন EC2 C7g (Graviton3) দৃষ্টান্তগুলির জন্য সমর্থন চালু করেছে যাতে স্পার্ক ওয়ার্কলোডের জন্য খরচের কার্যক্ষমতা 7-13% বৃদ্ধি পায়

উত্স নোড: 1935298
সময় স্ট্যাম্প: ফেব্রুয়ারী 1, 2023

রেডশিফ্ট টেস্ট ড্রাইভ ব্যবহার করে আপনার কাজের চাপের জন্য সেরা অ্যামাজন রেডশিফ্ট কনফিগারেশন খুঁজুন আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 2788635
সময় স্ট্যাম্প: জুলাই 27, 2023