تكوين Amazon OpenSearch Service للتوافر العالي | خدمات أمازون ويب

تكوين Amazon OpenSearch Service للتوافر العالي | خدمات أمازون ويب

عقدة المصدر: 2691649

خدمة Amazon OpenSearch هو محرك بحث وتحليلات مفتوح المصدر بالكامل يفتح بشكل آمن البحث والمراقبة والتحليل في الوقت الفعلي للبيانات التجارية والتشغيلية لحالات الاستخدام مثل محركات التوصية ومواقع التجارة الإلكترونية والبحث في الكتالوجات. لكي تكون ناجحًا في عملك ، تحتاج إلى أن تكون أنظمتك متاحة للغاية وذات أداء عالٍ ، وتقليل وقت التوقف عن العمل وتجنب الفشل. عندما تستخدم خدمة البحث المفتوح كوسيلة أساسية لمراقبة البنية التحتية الخاصة بك ، فأنت بحاجة إلى التأكد من توفرها أيضًا. يمكن أن يكون لوقت تعطل خدمة البحث المفتوح تأثير كبير على نتائج عملك ، مثل خسارة الإيرادات ، وخسارة الإنتاجية ، وخسارة قيمة العلامة التجارية ، والمزيد.

معيار الصناعة لقياس التوفر هي فئة من تسعة. توفر خدمة OpenSearch Service 3 9 من التوافر ، عندما تتابع أفضل الممارسات، مما يعني أنه يضمن أقل من 43.83 دقيقة تعطل شهريًا. في هذا المنشور ، ستتعلم كيف يمكنك تكوين مجال OpenSearch Service الخاص بك لتوفر وأداء عاليين باتباع أفضل الممارسات والتوصيات أثناء إعداد المجال الخاص بك.

هناك عنصران أساسيان يؤثران على توفر المجال الخاص بك: استخدام موارد المجال الخاص بك ، والذي يكون مدفوعًا في الغالب بعبء العمل لديك ، والأحداث الخارجية مثل فشل البنية التحتية. على الرغم من أنه يمكن التحكم في الأول من خلال المراقبة المستمرة لأداء المجال وصحته وتوسيع النطاق وفقًا لذلك ، لا يمكن للأخير. للتخفيف من تأثير الأحداث الخارجية مثل انقطاع منطقة توافر الخدمات ، أو فشل المثيل أو القرص ، أو مشكلات الشبكة في مجالك ، يجب عليك توفير سعة إضافية ، وتوزيعها على مناطق توافر خدمات متعددة ، والاحتفاظ بنسخ متعددة من البيانات. قد يؤدي عدم القيام بذلك إلى تدهور الأداء ، وعدم التوفر ، وفي أسوأ الحالات ، فقدان البيانات.

دعونا نلقي نظرة على الخيارات المتاحة لك للتأكد من أن المجال متاح وفعال.

تكوين الكتلة

في إطار هذا القسم ، سنتحدث عن خيارات التكوين المختلفة التي يجب عليك إعدادها بشكل صحيح والتي تتضمن تحديد عدد AZ للنشر ، وإعداد العقد الرئيسية وعقد البيانات ، وإعداد الفهارس والأجزاء.

النشر متعدد الألف إلى الياء

عُقد البيانات مسؤولة عن معالجة طلبات الفهرسة والبحث في مجالك. يؤدي نشر عُقد البيانات الخاصة بك عبر مناطق توافر خدمات متعددة إلى تحسين توفر المجال الخاص بك عن طريق إضافة تخزين ومعالجة بيانات متكررة لكل منطقة. من خلال نشر Multi-AZ ، يمكن أن يظل مجالك متاحًا حتى في حالة عدم توفر منطقة توافر كاملة. لأحمال الإنتاج ، توصي AWS باستخدام ثلاث مناطق توافر خدمات لمجالك. استخدم منطقتين من مناطق توافر الخدمات للمناطق التي تدعم منطقتين فقط لتحسين الإتاحة. هذا يضمن أن المجال الخاص بك متاح في حالة فشل Single-AZ.

مدير كتلة مخصص (العقد الرئيسية)

توصي AWS باستخدام ثلاث عقد مخصصة لمدير المجموعة (CM) لجميع أعباء الإنتاج. تتعقب عقد CM صحة الكتلة ، وحالة وموقع فهارسها وأجزاءها ، وتعيين جميع الفهارس ، وتوافر عقد البيانات الخاصة بها ، وتحتفظ بقائمة مهام على مستوى الكتلة قيد المعالجة. بدون عقد CM المخصصة ، تستخدم الكتلة عقد البيانات ، مما يجعل الكتلة عرضة لمتطلبات أعباء العمل. يجب عليك تحديد حجم عقد CM بناءً على حجم المهمة — بشكل أساسي ، عدد عقدة البيانات ، وعدد الفهرس ، وعدد الأجزاء. تقوم خدمة OpenSearch Service دائمًا بنشر عقد CM عبر ثلاث مناطق توافر خدمات ، عندما تكون مدعومة من قبل المنطقة (اثنان في منطقة توافر واحدة وواحد في مناطق توافر أخرى إذا كانت المناطق بها منطقتان فقط من مناطق توافر الخدمات). بالنسبة لمجال قيد التشغيل ، تعمل واحدة فقط من عقد CM الثلاث كقائد منتخب. تشارك عقدتا CM الأخريان في الانتخابات إذا فشلت عقدة CM المختارة.

يوضح الجدول التالي توصيات AWS لحجم CM. تعمل عُقد CM بناءً على عدد العقد والفهارس والأجزاء والتخطيط. كلما زاد العمل ، زادت الحوسبة والذاكرة التي تحتاجها للاحتفاظ بحالة الكتلة والعمل معها.

عدد المثيلات حجم ذاكرة الوصول العشوائي لعقدة إدارة الكتلة الحد الأقصى لعدد الأجزاء المدعومة الحد الأدنى الموصى به من نوع مثيل مدير الكتلة المخصص
1-10 8 GiB 10,000 m5.large.search أو m6g.large.search
11-30 16 GiB 30,000 c5.2xlarge.search أو c6g.2xlarge.search
31-75 32 GiB 40,000 c5.4xlarge.search أو c6g.4xlarge.search
٢٠٢٤/٢٠٢٣ 64 GiB 75,000 r5.2xlarge.search أو r6g.2xlarge.search
٢٠٢٤/٢٠٢٣ 128 GiB 75,000 r5.4xlarge.search أو r6g.4xlarge.search

فهارس وشظايا

الفهارس هي بناء منطقي يضم مجموعة من المستندات. يمكنك تقسيم الفهرس للمعالجة المتوازية عن طريق تحديد عدد الأجزاء الأساسي ، حيث تمثل الأجزاء وحدة فعلية لتخزين البيانات ومعالجتها. في خدمة OpenSearch Service ، يمكن أن يكون الجزء إما جزءًا أساسيًا أو نسخة طبق الأصل. يمكنك استخدام النسخ المتماثلة لقوة التحمل - في حالة فقد الجزء الأساسي ، تقوم خدمة OpenSearch Service بترقية إحدى النسخ المتماثلة إلى نسخة أساسية - ولتحسين إنتاجية البحث. تضمن خدمة OpenSearch Service وضع الأجزاء الأساسية والنسخة المتماثلة في عقد مختلفة وعبر مناطق توافر خدمات مختلفة ، إذا تم نشرها في أكثر من منطقة توافر واحدة. للإتاحة العالية ، توصي AWS بتكوين نسختين متماثلتين على الأقل لكل فهرس في إعداد ثلاثي المناطق لتجنب حدوث اضطراب في الأداء والتوافر. في إعداد Multi-AZ ، إذا فشلت عقدة أو في أسوأ الحالات النادرة ، فشلت منطقة توافر الخدمات ، فستظل لديك نسخة من البيانات.

مراقبة الكتلة وإدارتها

كما تمت مناقشته سابقًا ، فإن تحديد التكوين الخاص بك بناءً على أفضل الممارسات هو نصف المهمة فقط. نحتاج أيضًا إلى المراقبة المستمرة لاستخدام الموارد والأداء لتحديد ما إذا كان المجال بحاجة إلى التوسع. يمكن أن يؤدي المجال غير المخصص أو المفرط الاستخدام إلى تدهور الأداء وعدم توفره في النهاية.

استخدام وحدة المعالجة المركزية

يمكنك استخدام وحدة المعالجة المركزية في المجال الخاص بك لتشغيل عبء العمل الخاص بك. كقاعدة عامة ، يجب أن تستهدف 60٪ من متوسط ​​استخدام وحدة المعالجة المركزية لأي عقدة بيانات ، مع قمم تصل إلى 80٪ ، وتتسامح مع ارتفاعات صغيرة تصل إلى 100٪. عندما تفكر في التوفر ، وخاصة بالنظر إلى عدم توفر منطقة كاملة ، هناك سيناريوهان. إذا كان لديك منطقتان من مناطق توافر الخدمات ، فإن كل منطقة تعالج 50٪ من حركة المرور. إذا أصبحت المنطقة غير متاحة ، فستستغرق المنطقة الأخرى كل هذه الحركة ، مما يؤدي إلى مضاعفة استخدام وحدة المعالجة المركزية. في هذه الحالة ، يجب أن يكون متوسط ​​استخدام وحدة المعالجة المركزية حوالي 30-40٪ في كل منطقة للحفاظ على الإتاحة. إذا كنت تقوم بتشغيل ثلاث مناطق توافر خدمات ، فإن كل منطقة تستحوذ على 33٪ من حركة المرور. إذا أصبحت المنطقة غير متاحة ، فستحصل كل منطقة أخرى على نسبة 17٪ تقريبًا من حركة المرور. في هذه الحالة ، يجب أن تستهدف 50-60٪ متوسط ​​استخدام وحدة المعالجة المركزية.

استخدام الذاكرة

تدعم خدمة OpenSearch نوعين من جمع البيانات المهملة. الأول هو G1 garbage collection (G1GC) ، والذي تستخدمه عقد OpenSearch Service ، التي يتم تشغيلها بواسطة أوس جرافيتون 2. والثاني هو Concurrent Mark Sweep (CMS) ، والذي تستخدمه جميع العقد التي تعمل بواسطة معالجات أخرى. من بين كل الذاكرة المخصصة للعقدة ، يتم تخصيص نصف الذاكرة (حتى 32 جيجا بايت) لمجموعة Java ، ويتم استخدام باقي الذاكرة بواسطة مهام نظام التشغيل الأخرى ، وذاكرة التخزين المؤقت لنظام الملفات ، وما إلى ذلك. للحفاظ على توافر مجال ما ، نوصي بالحفاظ على الحد الأقصى لاستخدام JVM عند حوالي 80٪ في CMS و 95٪ في G1GC. أي شيء يتجاوز ذلك سيؤثر على توفر المجال الخاص بك ويجعل مجموعتك غير صحية. نوصي أيضًا بتمكين الضبط التلقائي ، والذي يراقب بنشاط استخدام الذاكرة ويؤدي إلى تشغيل أداة تجميع البيانات المهملة.

استخدام التخزين

تنشر OpenSearch Service عدة إرشادات لـ تحجيم المجالات. نحن نقدم صيغة تجريبية حتى تتمكن من تحديد مقدار التخزين المناسب المطلوب لمتطلباتك. ومع ذلك ، من المهم الانتباه إلى استنفاد مساحة التخزين مع مرور الوقت والتغييرات في خصائص عبء العمل. لضمان عدم نفاد مساحة تخزين المجال ويمكنه متابعة فهرسة البيانات ، يجب عليك تكوين الأمازون CloudWatch أجهزة الإنذار ومراقبة مساحة التخزين المجانية الخاصة بك.

توصي AWS أيضًا باختيار عدد الأجزاء الأساسي بحيث يكون كل جزء ضمن نطاق الحجم الأمثل. يمكنك تحديد الحجم الأمثل للجزء من خلال اختبار إثبات المفهوم باستخدام بياناتك وحركة المرور الخاصة بك. نستخدم أحجام الأجزاء الأساسية من 10 إلى 30 غيغابايت لحالات استخدام البحث و 45-50 غيغابايت من أحجام الأجزاء الأولية لحالات استخدام تحليلات السجل كمبدأ توجيهي. نظرًا لأن الأجزاء هي العاملين في مجالك ، فهي مسؤولة بشكل مباشر عن توزيع عبء العمل عبر عقد البيانات. إذا كانت شظاياك كبيرة جدًا ، فقد ترى ضغوطًا في كومة Java الخاصة بك من التجمعات الكبيرة ، وأداء استعلام أسوأ ، وأداء أسوأ في المهام على مستوى المجموعة مثل إعادة موازنة الأجزاء ، واللقطات ، وعمليات الترحيل السريع. إذا كانت الأجزاء صغيرة جدًا ، فيمكنها إرباك مساحة كومة Java الخاصة بالمجال ، مما يؤدي إلى تدهور أداء الاستعلام من خلال الشبكات الداخلية المفرطة ، وإبطاء المهام على مستوى المجموعة. نوصي أيضًا بالحفاظ على عدد الأجزاء لكل عقدة متناسبًا مع الكومة المتاحة (نصف ذاكرة الوصول العشوائي للمثيل تصل إلى 32 جيجابايت) —25 جزء لكل جيجابايت من كومة Java. هذا يجعل حدًا عمليًا يبلغ 1,000 جزء على أي عقدة بيانات في مجالك.

وفي الختام

في هذا المنشور ، تعلمت العديد من النصائح والحيل لإعداد مجال متاح للغاية باستخدام OpenSearch Service ، مما يساعدك في الحفاظ على أداء خدمة OpenSearch Service وجعلها متاحة من خلال تشغيلها عبر ثلاث مناطق توافر خدمات.

ترقبوا سلسلة من المنشورات التي تركز على الميزات والوظائف المتنوعة مع خدمة البحث المفتوح. إذا كان لديك ملاحظات حول هذا المنشور ، أرسله في قسم التعليقات. إذا كانت لديك أسئلة حول هذا المنشور ، فابدأ موضوعًا جديدًا على منتدى خدمة OpenSearch أو الاتصال دعم AWS.


عن المؤلفين

روهين بهارجافا هو مدير منتج كبير مع فريق Amazon OpenSearch Service. شغفه في AWS هو مساعدة العملاء في العثور على المزيج الصحيح من خدمات AWS لتحقيق النجاح في أهداف أعمالهم.

براشانت أغراوال هو مهندس حلول متخصص في البحث مع خدمة Amazon OpenSearch Service. إنه يعمل عن كثب مع العملاء لمساعدتهم على ترحيل أعباء العمل الخاصة بهم إلى السحابة ويساعد العملاء الحاليين على ضبط مجموعاتهم لتحقيق أداء أفضل وتوفير التكلفة. قبل الانضمام إلى AWS ، ساعد العديد من العملاء على استخدام OpenSearch و Elasticsearch لحالات استخدام تحليلات البحث والسجلات. عندما لا يعمل ، يمكنك أن تجده يسافر ويستكشف أماكن جديدة. باختصار ، يحب فعل أكل ← سفر ← كرر.

الطابع الزمني:

اكثر من بيانات AWS الضخمة