درخواست های فله عملکرد بسیار بهتری نسبت به درخواست های شاخص تک مدیره دارند. برای دانستن اندازه بهینه یک درخواست فله ، باید یک معیار را روی یک گره واحد با یک قطعه واحد اجرا کنید. ابتدا سعی کنید 100 اسناد را به طور هم زمان ، سپس 200 ، سپس 400 و غیره فهرست کنید و تعداد اسناد را در یک درخواست فله در هر معیار دو برابر کنید. هنگامی که سرعت نمایه سازی به فلات شروع می شود ، می دانید که به اندازه بهینه درخواست فله برای داده های خود رسیده اید. در صورت کراوات ، بهتر است به جای اسناد بسیار زیاد ، در جهت تعداد کمی اشتباه کنید. مراقب باشید که درخواست های فله ای خیلی بزرگ ممکن است در هنگام ارسال همزمان بسیاری از آنها ، خوشه را تحت فشار قرار دهد ، بنابراین توصیه می شود حتی اگر به نظر می رسد درخواست های بزرگتر عملکرد بهتری داشته باشند ، از فراتر از ده ها مگابایت در هر درخواست خودداری کنید.
برای ارسال داده ها به Elasticsearcheditit از چندین کارگر/موضوع استفاده کنید
بعید است که یک موضوع ارسال شده به درخواست های فله ای بتواند ظرفیت نمایه سازی یک خوشه Elasticsearch را حداکثر کند. برای استفاده از تمام منابع خوشه ، باید داده ها را از چندین موضوع یا فرآیند ارسال کنید. علاوه بر استفاده بهتر از منابع خوشه ، این باید به کاهش هزینه هر FSYNC کمک کند.
حتماً مراقب باشید too_many_requests (429) کدهای پاسخ (EsRejectedExitionException با مشتری جاوا) ، این روشی است که Elasticsearch به شما می گوید که نمی تواند با نرخ فهرست بندی فعلی همراه باشد. هنگامی که این اتفاق می افتد ، باید قبل از تلاش دوباره ، کمی مکث را مکث کنید ، در حالت ایده آل با بازگشت تصادفی تصادفی.
به طور مشابه با اندازه درخواست های فله ، فقط آزمایش می تواند بگوید تعداد مطلوب کارگران چیست. این می تواند با افزایش تدریجی تعداد کارگران آزمایش شود تا زمانی که I/O یا CPU در خوشه اشباع نشود.
بازنویسی یا افزایش فاصله تازه
عملیاتی که شامل ایجاد تغییرات برای جستجو است - به نام تازه سازی - پرهزینه است ، و آن را غالباً در حالی که فعالیت نمایه سازی مداوم وجود دارد می تواند به سرعت نمایه سازی آسیب برساند.
به طور پیش فرض ، Elasticsearch به طور دوره ای شاخص ها را در هر ثانیه تازه می کند ، اما فقط در شاخص هایی که در 30 ثانیه گذشته یک درخواست جستجو یا بیشتر دریافت کرده اند.
این پیکربندی بهینه است اگر ترافیک جستجو یا بسیار کمی ندارید (به عنوان مثال کمتر از یک درخواست جستجو در هر 5 دقیقه) و می خواهید برای سرعت نمایه سازی بهینه شوید. این رفتار با هدف بهینه سازی خودکار نمایه سازی فله در مورد پیش فرض در صورت انجام هیچ جستجو انجام می شود. به منظور انصراف از این رفتار ، فاصله تازه ای را صریحاً تنظیم کنید.
از طرف دیگر ، اگر فهرست شما درخواست های جستجوی منظم را تجربه کند ، این رفتار پیش فرض بدان معنی است که Elasticsearch هر 1 ثانیه شاخص شما را تازه می کند. اگر می توانید مدت زمان بین زمان فهرست شدن یک سند و هنگامی که قابل مشاهده است ، افزایش دهید ، افزایش index. refresh_interval به یک مقدار بزرگتر ، به عنوان مثال. 30s ، ممکن است به بهبود سرعت نمایه سازی کمک کند.
ماکت ها را برای بارگیری اولیه غیرفعال کنید
اگر مقدار زیادی از داده ها را دارید که می خواهید همه را به طور همزمان در Elasticsearch بارگذاری کنید ، ممکن است تنظیم index. number_of_replicas به 0 برای سرعت بخشیدن به نمایه سازی مفید باشد. نداشتن ماکت به این معنی است که از دست دادن یک گره واحد ممکن است از دست دادن داده ها متحمل شود ، بنابراین مهم است که داده ها در جای دیگر زندگی کنند تا در صورت بروز این مسئله ، این بار اولیه را دوباره امتحان کند. پس از اتمام بار اولیه ، می توانید index. number_of_replicas را به مقدار اصلی آن تنظیم کنید.
اگر index. refresh_interval در تنظیمات شاخص پیکربندی شده باشد ، ممکن است در این بار اولیه به آن کمک کند و پس از اتمام بار اولیه ، آن را به مقدار اصلی خود برگردانید.
تعویض را غیرفعال کنید
شما باید اطمینان حاصل کنید که سیستم عامل با غیرفعال کردن مبادله ، فرآیند جاوا را تعویض نمی کند.
حافظه را به سیستم فایل سیستم اختصاص دهید
از حافظه نهان FileSystem به منظور بافر عملیات I/O استفاده خواهد شد. شما باید مطمئن شوید که حداقل نیمی از حافظه دستگاهی را که Elasticsearch را به حافظه نهان FileSystem می دهد ، بدهید.
از idsedit تولید شده به صورت خودکار استفاده کنید
هنگام نمایه سازی سندی که دارای یک شناسه صریح است ، Elasticsearch باید بررسی کند که آیا سندی با همان شناسه در حال حاضر در همان قسمت وجود دارد ، که یک عملیات پرهزینه است و با رشد شاخص حتی پر هزینه تر می شود. با استفاده از شناسه های تولید شده ، Elasticsearch می تواند از این چک استفاده کند ، که باعث می شود نمایه سازی سریعتر شود.
از سخت افزار سریعتر استفاده کنید
اگر نمایه سازی محدود به I/O است ، در نظر بگیرید که اندازه حافظه نهان سیستم فایل را افزایش دهید (به بالا مراجعه کنید) یا از ذخیره سازی سریعتر استفاده کنید. Elasticsearch به طور کلی پرونده های فردی را با نوشتن های متوالی ایجاد می کند. با این حال ، نمایه سازی شامل نوشتن چندین پرونده به طور همزمان ، و ترکیبی از خوانده های تصادفی و متوالی نیز است ، بنابراین درایوهای SSD تمایل به عملکرد بهتر از دیسک های چرخان دارند.
با پیکربندی یک آرایه RAID 0 ، شاخص خود را در چندین SSD قرار دهید. به یاد داشته باشید که این خطر عدم موفقیت را افزایش می دهد زیرا عدم موفقیت هر یک از SSD شاخص را از بین می برد. با این حال ، این به طور معمول تجارت مناسب برای ایجاد: بهینه سازی حداکثر عملکرد برای حداکثر عملکرد است ، و سپس ماکت ها را در گره های مختلف اضافه کنید تا برای هرگونه خرابی گره ، افزونگی وجود داشته باشد. همچنین می توانید از عکس فوری استفاده کرده و برای تهیه نسخه پشتیبان از فهرست برای بیمه بیشتر استفاده کنید.
ذخیره سازی مستقیم (محلی) به طور کلی بهتر از ذخیره سازی از راه دور عمل می کند زیرا پیکربندی خوب و جلوگیری از سربارهای ارتباطی ساده تر است. با تنظیم دقیق گاهی اوقات دستیابی به عملکرد قابل قبول با استفاده از ذخیره سازی از راه دور نیز امکان پذیر است. سیستم خود را با یک بار کاری واقع بینانه برای تعیین اثرات هر پارامتر تنظیم معیار کنید. اگر نمی توانید به عملکردی که انتظار دارید برسید ، با فروشنده سیستم ذخیره سازی خود کار کنید تا مشکل را شناسایی کنید.
نمایه سازی بافر اندازه
اگر گره شما فقط نمایه سازی سنگینی را انجام می دهد ، مطمئن باشید شاخص ها. memory. index_buffer_size به اندازه کافی بزرگ است که حداکثر 512 مگابایت بافر در هر شارد را با استفاده از نمایه سازی سنگین می دهد (فراتر از آن عملکرد نمایه سازی معمولاً بهبود نمی یابد). Elasticsearch این تنظیمات را (درصدی از جاوا پشته یا اندازه مطلق بایت) می گیرد و از آن به عنوان یک بافر مشترک در تمام قسمتهای فعال استفاده می کند. قسمتهای بسیار فعال به طور طبیعی از این بافر بیشتر از قسمت هایی که نمایه سازی سبک وزن دارند ، استفاده می کنند.
پیش فرض 10 ٪ است که اغلب بسیار زیاد است: به عنوان مثال ، اگر JVM 10 گیگابایت حافظه را به شما بدهید ، 1 گیگابایت را به بافر شاخص می دهد ، که برای میزبانی دو قسمت که به شدت نمایه می شوند ، کافی است.
برای جلوگیری از جستجو در سرقت منابع از IndexingEdit ، از تکثیر خوشه ای استفاده کنید
در یک خوشه واحد ، نمایه سازی و جستجو می تواند برای منابع رقابت کند. با تنظیم دو خوشه ، پیکربندی تکثیر خوشه ای برای تکثیر داده ها از یک خوشه به دیگری ، و مسیریابی کلیه جستجوها به خوشه ای که دارای شاخص های پیروان است ، فعالیت جستجو دیگر منابع را از فهرست بندی در خوشه ای که میزبان آن است ، سرقت نمی کندشاخص های رهبر
بهینه سازی اضافی
بسیاری از استراتژی های ذکر شده در لحن برای استفاده از دیسک همچنین پیشرفت در سرعت نمایه سازی را فراهم می کند.
اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید
برچسب :
نویسنده : منیژه سلیمی
بازدید : <-PostHit->
تاريخ : جمعه
12 خرداد
1402 ساعت: 19:57