پیکربندی سرویس جستجوی باز آمازون برای دسترسی بالا | خدمات وب آمازون

پیکربندی سرویس جستجوی باز آمازون برای دسترسی بالا | خدمات وب آمازون

گره منبع: 2691649

سرویس جستجوی باز آمازون یک موتور جستجو و تجزیه و تحلیل کاملاً منبع باز است که به طور ایمن جستجو، نظارت و تجزیه و تحلیل بی‌درنگ داده‌های تجاری و عملیاتی را برای موارد استفاده مانند موتورهای توصیه، سایت‌های تجارت الکترونیک و جستجوی کاتالوگ باز می‌کند. برای موفقیت در کسب‌وکارتان، باید سیستم‌هایتان بسیار در دسترس و کارآمد باشند و زمان خرابی را به حداقل برسانید و از شکست جلوگیری کنید. هنگامی که از OpenSearch Service به عنوان ابزار اصلی نظارت بر زیرساخت خود استفاده می کنید، باید از در دسترس بودن آن نیز اطمینان حاصل کنید. از کار افتادن سرویس OpenSearch می‌تواند تأثیر قابل‌توجهی بر نتایج کسب‌وکار شما داشته باشد، مانند از دست دادن درآمد، کاهش بهره‌وری، کاهش ارزش برند و موارد دیگر.

La استاندارد صنعتی برای اندازه گیری در دسترس بودن کلاس نه است. سرویس OpenSearch در صورت فالو کردن، 3 9 در دسترس را فراهم می کند بهترین شیوه، به این معنی که کمتر از 43.83 دقیقه توقف در ماه را تضمین می کند. در این پست، یاد خواهید گرفت که چگونه می توانید دامنه سرویس OpenSearch خود را برای دسترسی و کارایی بالا با پیروی از بهترین روش ها و توصیه ها هنگام تنظیم دامنه خود پیکربندی کنید.

دو عنصر اساسی وجود دارد که بر در دسترس بودن دامنه شما تأثیر می گذارد: استفاده از منابع دامنه شما، که عمدتاً توسط حجم کاری شما هدایت می شود، و رویدادهای خارجی مانند خرابی زیرساخت. اگرچه اولی را می توان از طریق نظارت مستمر بر عملکرد و سلامت دامنه و مقیاس بندی دامنه بر اساس آن کنترل کرد، دومی نمی تواند. برای کاهش تأثیر رویدادهای خارجی مانند قطع شدن منطقه در دسترس، نمونه یا خرابی دیسک، یا مشکلات شبکه در دامنه خود، باید ظرفیت اضافی، توزیع شده در چندین منطقه دسترسی، و چندین نسخه از داده ها را فراهم کنید. عدم انجام این کار ممکن است منجر به کاهش عملکرد، در دسترس نبودن، و در بدترین حالت، از دست رفتن اطلاعات شود.

بیایید به گزینه های در دسترس شما نگاه کنیم تا مطمئن شویم دامنه در دسترس و کارآمد است.

پیکربندی خوشه

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

استقرار Multi-AZ

گره های داده مسئول پردازش فهرست بندی و درخواست های جستجو در دامنه شما هستند. استقرار گره های داده خود در چندین منطقه در دسترس بودن، در دسترس بودن دامنه شما را با افزودن ذخیره سازی و پردازش داده های اضافی در هر منطقه بهبود می بخشد. با استقرار Multi-AZ، دامنه شما می‌تواند در دسترس باقی بماند حتی زمانی که یک منطقه دسترسی کامل در دسترس نباشد. برای حجم کاری تولید، AWS استفاده از سه منطقه دسترسی را برای دامنه خود توصیه می کند. از دو منطقه در دسترس برای مناطق استفاده کنید که فقط از دو منطقه برای دسترسی بهتر پشتیبانی می کنند. این تضمین می کند که دامنه شما در صورت خرابی Single-AZ در دسترس است.

مدیر خوشه اختصاصی (گره های اصلی)

AWS استفاده از سه گره اختصاصی مدیریت خوشه (CM) را توصیه می کند برای تمام بارهای کاری تولید گره‌های CM سلامت خوشه، وضعیت و مکان ایندکس‌ها و خرده‌های آن، نقشه‌برداری برای همه شاخص‌ها و در دسترس بودن گره‌های داده آن را ردیابی می‌کنند و فهرستی از وظایف سطح خوشه را در فرآیند نگهداری می‌کنند. بدون گره‌های اختصاصی CM، خوشه از گره‌های داده استفاده می‌کند که باعث می‌شود خوشه در برابر تقاضاهای بار کاری آسیب‌پذیر باشد. شما باید گره های CM را بر اساس اندازه کار اندازه گیری کنید - در درجه اول، تعداد گره های داده، شمارش شاخص ها و تعداد خرده ها. سرویس OpenSearch همیشه گره‌های CM را در سه منطقه دسترس‌پذیری، زمانی که توسط منطقه پشتیبانی می‌شود، مستقر می‌کند (دو مورد در یک منطقه در دسترس و یکی در سایر مناطق در دسترس اگر مناطق فقط دو منطقه دسترسی داشته باشند). برای یک دامنه در حال اجرا، تنها یکی از سه گره CM به عنوان یک رهبر انتخابی کار می کند. اگر گره CM انتخاب شده شکست بخورد، دو گره CM دیگر در انتخابات شرکت می کنند.

جدول زیر توصیه های AWS برای اندازه CM را نشان می دهد. گره های CM بر اساس تعداد گره ها، ایندکس ها، خرده ها و نقشه برداری کار می کنند. هر چه کار بیشتر باشد، محاسبات و حافظه بیشتری برای نگهداری و کار با حالت خوشه نیاز دارید.

تعداد نمونه اندازه RAM Node Manager Cluster Manager حداکثر تعداد قطعات پشتیبانی شده حداقل نوع نمونه مدیریت خوشه اختصاصی توصیه شده
1-10 8 گیگابایت 10,000 m5.large.search یا m6g.large.search
11-30 16 گیگابایت 30,000 c5.2xlarge.search یا c6g.2xlarge.search
31-75 32 گیگابایت 40,000 c5.4xlarge.search یا c6g.4xlarge.search
76 - 125 64 گیگابایت 75,000 r5.2xlarge.search یا r6g.2xlarge.search
126 - 200 128 گیگابایت 75,000 r5.4xlarge.search یا r6g.4xlarge.search

شاخص ها و خرده ها

شاخص ها یک ساختار منطقی هستند که مجموعه ای از اسناد را در خود جای می دهند. شما شاخص خود را برای پردازش موازی با تعیین تعداد خرده اولیه تقسیم بندی می کنید، جایی که خرده ها یک واحد فیزیکی برای ذخیره و پردازش داده ها را نشان می دهند. در سرویس OpenSearch، یک خرده می تواند یک خرده اصلی یا یک خرده کپی باشد. شما از ماکت‌ها برای دوام استفاده می‌کنید—اگر خرده اصلی گم شود، سرویس OpenSearch یکی از کپی‌ها را به اولیه ارتقا می‌دهد—و برای بهبود توان عملیاتی جستجو. سرویس OpenSearch تضمین می‌کند که خرده‌های اصلی و مشابه در گره‌های مختلف و در مناطق مختلف در دسترس قرار می‌گیرند، اگر در بیش از یک منطقه دسترسی مستقر شوند. برای در دسترس بودن بالا، AWS توصیه می‌کند حداقل دو نسخه تکراری برای هر شاخص در یک راه‌اندازی سه ناحیه‌ای پیکربندی کنید تا از اختلال در عملکرد و در دسترس بودن جلوگیری شود. در راه‌اندازی Multi-AZ، اگر یک گره از کار بیفتد یا در بدترین حالت نادر، یک منطقه دسترسی با مشکل مواجه شود، همچنان یک کپی از داده‌ها خواهید داشت.

نظارت و مدیریت خوشه

همانطور که قبلاً بحث شد، انتخاب پیکربندی خود بر اساس بهترین شیوه ها تنها نیمی از کار است. ما همچنین باید به طور مداوم بر استفاده از منابع و عملکرد نظارت کنیم تا تعیین کنیم آیا دامنه نیاز به مقیاس بندی دارد یا خیر. یک دامنه کم تهیه یا استفاده بیش از حد می تواند منجر به کاهش عملکرد و در نهایت در دسترس نشدن شود.

استفاده از پردازنده

شما از CPU در دامنه خود برای اجرای حجم کاری خود استفاده می کنید. به عنوان یک قاعده کلی، شما باید 60% متوسط ​​استفاده از CPU را برای هر گره داده، با حداکثر 80% هدف قرار دهید و جهش های کوچک را تا 100% تحمل کنید. هنگامی که در دسترس بودن را در نظر می گیرید، و به خصوص با در نظر گرفتن در دسترس نبودن یک منطقه کامل، دو سناریو وجود دارد. اگر دو منطقه در دسترس دارید، هر منطقه 50 درصد ترافیک را اداره می کند. اگر منطقه ای در دسترس نباشد، منطقه دیگر تمام آن ترافیک را می گیرد و استفاده از CPU را دو برابر می کند. در این صورت، برای حفظ در دسترس بودن، باید در حدود 30 تا 40 درصد متوسط ​​استفاده از CPU در هر منطقه باشید. اگر سه منطقه در دسترس را اجرا می کنید، هر منطقه 33 درصد از ترافیک را می گیرد. اگر یک منطقه در دسترس نباشد، هر یک از مناطق دیگر تقریباً 17٪ ترافیک به دست خواهند آورد. در این مورد، شما باید 50 تا 60 درصد متوسط ​​استفاده از CPU را هدف قرار دهید.

استفاده از حافظه

سرویس OpenSearch از دو نوع جمع آوری زباله پشتیبانی می کند. اولین مورد، جمع آوری زباله G1 (G1GC) است که توسط گره های سرویس OpenSearch استفاده می شود که توسط AWS Graviton 2. دومین مورد، جابجایی علامت‌گذاری همزمان (CMS) است که توسط تمام گره‌هایی که توسط پردازنده‌های دیگر تغذیه می‌شوند، استفاده می‌شود. از تمام حافظه اختصاص داده شده به یک گره، نیمی از حافظه (تا 32 گیگابایت) به پشته جاوا اختصاص داده شده است و بقیه حافظه توسط سایر وظایف سیستم عامل، حافظه پنهان سیستم فایل و غیره استفاده می شود. برای حفظ در دسترس بودن یک دامنه، توصیه می کنیم حداکثر استفاده از JVM را در حدود 80٪ در CMS و 95٪ در G1GC نگه دارید. هر چیزی فراتر از آن بر در دسترس بودن دامنه شما تأثیر می گذارد و خوشه شما را ناسالم می کند. همچنین توصیه می‌کنیم تنظیم خودکار را فعال کنید، که به طور فعال بر استفاده از حافظه نظارت می‌کند و جمع‌آوری زباله را فعال می‌کند.

استفاده از ذخیره سازی

سرویس OpenSearch چندین دستورالعمل برای آن منتشر می کند اندازه دامنه ها. ما یک فرمول تجربی ارائه می دهیم تا بتوانید مقدار مناسب ذخیره سازی مورد نیاز برای نیازهای خود را تعیین کنید. با این حال، مهم است که مراقب کاهش فضای ذخیره سازی با گذشت زمان و تغییرات در ویژگی های بار کاری باشید. برای اطمینان از اینکه فضای ذخیره‌سازی دامنه تمام نمی‌شود و می‌تواند به فهرست‌بندی داده‌ها ادامه دهد، باید پیکربندی کنید CloudWatch آمازون آلارم و فضای ذخیره سازی رایگان خود را نظارت کنید.

AWS همچنین توصیه می‌کند که تعداد خرده‌های اولیه را انتخاب کنید تا هر خرده در یک باند اندازه بهینه باشد. شما می توانید اندازه بهینه شارد را از طریق آزمایش اثبات مفهوم با داده ها و ترافیک خود تعیین کنید. ما از 10 تا 30 گیگابایت اندازه خرده اصلی برای موارد استفاده جستجو و 45 تا 50 گیگابایت اندازه خرده اصلی برای موارد استفاده تجزیه و تحلیل گزارش به عنوان یک راهنما استفاده می کنیم. از آنجا که خرده‌ها کارگران دامنه شما هستند، مستقیماً مسئول توزیع بار کاری در گره‌های داده هستند. اگر خرده‌های شما خیلی بزرگ هستند، ممکن است در پشته‌های جاوا خود استرس ناشی از تجمع‌های بزرگ، عملکرد پرس‌وجو بدتر و عملکرد بدتر در کارهای سطح خوشه‌ای مانند تعادل مجدد خرده‌ها، عکس‌های فوری و مهاجرت‌های داغ به گرم را مشاهده کنید. اگر خرده‌های شما خیلی کوچک باشند، می‌توانند فضای پشته‌ای جاوا دامنه را تحت تأثیر قرار دهند، عملکرد پرس‌وجو را از طریق شبکه‌های داخلی بیش از حد بدتر کنند و کارهای سطح خوشه را کند کنند. همچنین توصیه می‌کنیم تعداد خرده‌های هر گره را متناسب با هیپ موجود (نصف رم نمونه تا 32 گیگابایت) نگه دارید - 25 خرده در هر گیگابایت پشته جاوا. این محدودیت عملی 1,000 خرده را برای هر گره داده در دامنه شما ایجاد می کند.

نتیجه

در این پست، نکات و ترفندهای مختلفی را برای راه اندازی یک دامنه بسیار در دسترس با استفاده از سرویس OpenSearch یاد گرفتید، که به شما کمک می کند تا با اجرای آن در سه منطقه دسترسی، سرویس OpenSearch را عملکرد و در دسترس نگه دارید.

منتظر یک سری پست با تمرکز بر ویژگی ها و عملکردهای مختلف با OpenSearch باشید. اگر نظری در مورد این پست دارید، آن را در قسمت نظرات ارسال کنید. اگر در مورد این پست سوالی دارید، یک موضوع جدید در این پست شروع کنید انجمن سرویس OpenSearch یا تماس بگیرید پشتیبانی AWS.


درباره نویسندگان

روهین بهارگاوا یک مدیر محصول پدر با تیم خدمات جستجوی باز آمازون است. اشتیاق او در AWS کمک به مشتریان برای یافتن ترکیب صحیح خدمات AWS برای دستیابی به موفقیت برای اهداف تجاری است.

پراشانت آگراوال یک معمار راه حل های تخصصی جستجو با سرویس جستجوی باز آمازون است. او از نزدیک با مشتریان همکاری می کند تا به آنها کمک کند تا حجم کاری خود را به فضای ابری منتقل کنند و به مشتریان فعلی کمک می کند تا خوشه های خود را به دقت تنظیم کنند تا عملکرد بهتری داشته باشند و در هزینه صرفه جویی کنند. قبل از پیوستن به AWS، او به مشتریان مختلف کمک کرد تا از OpenSearch و Elasticsearch برای موارد استفاده از تجزیه و تحلیل جستجو و گزارش خود استفاده کنند. وقتی کار نمی کند، می توانید او را در حال سفر و کاوش در مکان های جدید بیابید. به طور خلاصه، او دوست دارد Eat → Travel → Repeat را انجام دهد.

تمبر زمان:

بیشتر از داده های بزرگ AWS