واحد 4 / 11

ظرفیت و نظارت بر عملکرد: خواندن معیارها و برنامه ریزی برای آینده

سود:

  • توانایی تفسیر صحیح معیارها با پشتیبانی هوش مصنوعی با استفاده از صدک (p95/p99) و پایه به جای میانگین
  • توانایی جداسازی فصلی از روند و تولید پیش بینی ظرفیت به عنوان یک محدوده خوش بینانه-بدبینانه به جای یک عدد واحد
  • درک این موضوع که سرمایه گذاری در منابع و تصمیمات آستانه هشدار به همراه زمان هدایت منابع و زمینه کسب و کار، انسانی هستند.

ظرفیت و نظارت بر عملکرد: خواندن معیارها با هوش مصنوعی و برنامه ریزی برای آینده

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

در این واحد پایش مفاهیمی مانند خط مبنا (خط رفتار عادی)، ناهنجاری (انحراف از نرمال)، صدک (صدک)؛ تفسیر متریک با هوش مصنوعی؛ روند و پیش بینی رشد؛ و شما یاد خواهید گرفت که آستانه آلارم صحیح را تنظیم کنید.

میانگین دروغ: چرا صدک؟

رایج ترین اشتباه در ردیابی این است که همه چیز را با میانگین اندازه گیری کنید. فرض کنید زمان پاسخ شما به طور متوسط ​​200 میلی ثانیه است. به نظر خوب می رسد. اما 5 درصد از کاربران ممکن است 8 ثانیه منتظر بمانند. میانگین این را پنهان می کند. به همین دلیل است که متخصصان از صدک استفاده می کنند: p95 = "95٪ درخواست ها کمتر از این بازه زمانی هستند." اگر زمان پاسخگویی p95 8 ثانیه باشد، از هر بیست کاربر یک نفر تجربه وحشتناکی را تجربه می کند - میانگین هرگز این را نشان نمی دهد. هنگام ارائه معیارها به هوش مصنوعی، مشخص کنید که کدام آمار را می خواهید: "p50، p95 و p99 را برای من تفسیر کنید، نه میانگین." این یک عادت مشکلات پنهان را آشکار می کند.

نکته: به صدک هر معیاری که مربوط به تجربه کاربر است (زمان پاسخ، تاخیر) نگاه کنید. p95/p99 به جای میانگین شما را به اقلیت واقعی رنج می برد. در معیارهای منابع (CPU، حافظه)، به هر دو مقدار پیک و پایدار نگاه کنید.

هیچ ناهنجاری بدون خط مبنا وجود ندارد

قبل از اینکه بتوانید تشخیص دهید که یک متریک "غیر طبیعی" است، باید "نرمال" را بدانید. Baseline محدوده رفتاری معمولی سیستم در روزهای سالم است: "این سرویس CPU در روز ظهر معمولاً 40 تا 60٪ است". بدون خط مبنا، نمی توانید بفهمید که مقدار 70 درصد ترسناک است یا طبیعی. می‌توانید با دادن داده‌های سالم تاریخی به هوش مصنوعی و گفتن «محدوده نرمال و الگوی روزانه/هفتگی این معیار را استخراج کنید» یک خط پایه تعیین کنید. سپس داده های جدید را بر اساس این خط مبنا تفسیر می کنید: "این مقدار در حالت عادی کجاست؟" یک ناهنجاری یک انحراف قابل توجه و پایدار از خط پایه است - یک پرش ناگهانی اغلب نویز است.

گام به گام: پیش بینی ظرفیت

  1. یک تاریخچه تمیز و کافی جمع آوری کنید. یک روند حداقل به چند هفته داده، ترجیحا ماهانه نیاز دارد. پیش‌بینی‌ای که با داده‌های کم انجام می‌شود یک حدس است، نه یک پیش‌بینی.
  2. فصلی بودن را جدا کنید. ترافیک در آخر هفته کاهش می یابد، در پایان ماه افزایش می یابد و در طول کمپین منفجر می شود. این چرخه ها را به هوش مصنوعی بگویید تا رشد را با نوسانات فصلی اشتباه نگیرد.
  3. روند را حذف کنید. "این دیسک به طور متوسط ​​در 8 هفته گذشته در هفته چند گیگابایت افزایش یافته است؟" هوش مصنوعی نرخ رشد را محاسبه می کند.
  4. برای طرح ریزی بخواهید، آن را فاصله دهید. "با این سرعت، کی دیسک 90٪ پر می شود؟" - اما یک محدوده خوش بینانه/بدبینانه بخواهید، نه یک تاریخ واحد. آینده نامشخص است؛ عدد فرد دقت کاذب است.
  5. آستانه تصمیم گیری را با مردم تعیین کنید. اگر پیش بینی می گوید "تا 6 هفته تکمیل می شود"، شما زمان منبع (خرید، تایید) را در نظر می گیرید و تصمیم می گیرید که آیا امروز اقدام کنید یا خیر.
  6. زنگ را به درستی تنظیم کنید. زنگ بسیار حساس باعث ایجاد نویز و خستگی زنگ می شود. بیش از حد شل زنگ، رویداد را از دست می دهد. یک توصیه آستانه از هوش مصنوعی دریافت کنید، اما آستانه نهایی را با تحمل ریسک خود تعیین کنید.

سه کیف کوچک

مورد 1 - میانگین پنهان، p99 نشان داده شد. یک تیم فکر می کرد API آنها "به طور متوسط ​​180 میلی ثانیه، خوب است." وقتی معیارها را به هوش مصنوعی دادم و برای تفسیر صدک درخواست کردم، معلوم شد که p99 6400 میلی‌ثانیه است - از هر صد درخواست، یک درخواست کمتر از 6 ثانیه است. علت اصلی، پرس و جوی کند پایگاه داده بود. در حالی که میانگین افراد سالم به نظر می رسید، اقلیت تجربه وحشتناکی داشتند.

مورد 2 - فرافکنی 3 هفته قبل هشدار داده شد. یک مدیر اطلاعات اشغال دیسک گزارش را به هوش مصنوعی داد. هوش مصنوعی روند رشد هفتگی حدود 7 گیگابایت را استنباط کرد و پیش‌بینی کرد که با نرخ فعلی، 90 درصد ظرف 19 روز با دامنه خوش‌بینانه-بدبینانه 16 تا 23 روز به دست خواهد آمد. از آنجایی که تامین دیسک های جدید 10 روز طول کشید، تیم بلافاصله سفارش داد و از قطع شدن قبل از وقوع جلوگیری کرد.

مورد 3 - بازگشت از ناهنجاری کاذب. یک زنگ نظارت هر یکشنبه شب به صدا در می آمد که می گفت CPU تا 95٪ بالا می رود. قبل از هراس، مهندس از هوش مصنوعی خواست تا سطح پایه را افزایش دهد: این پرش یک کار پشتیبان برنامه ریزی شده بود که هر هفته در همان زمان اتفاق می افتاد، بنابراین بخشی از هنجار بود. این یک ناهنجاری نبود. خط پایه وجود نداشت آستانه آلارم برای آن دوره زمانی اصلاح شده است و بیداری های شبانه غیرضروری از بین رفته است.

چهار قالب قابل کپی

1) تفسیر متریک (درصد):

در زیر معیارهای زمان پاسخ [سرویس] (نقاب) آمده است. برای من p50 و p95 و p99 کامنت کنید نه میانگین. تفاوت بین p99 و p50 به چه معناست، کدام مشکل تجربه کاربری را نشان می دهد؟ مقادیر ساختگی را اضافه نکنید، فقط داده هایی را که به شما می دهم تفسیر کنید. داده ها: [متریکس]

2) تفریق پایه:

در زیر داده‌های [متریک] سالم برای 4 هفته گذشته آمده است. (1) محدوده نرمال (2) الگوی روزانه و هفتگی (مثلاً کم شب، زیاد ظهر) این معیار را استخراج کنید. سپس یک مقدار جدید می دهم. بر اساس این خط پایه، آن را به عنوان "عادی/احتیاط/غیر طبیعی" طبقه بندی کنید. داده ها: [متریک تاریخی]

3) طرح ریزی ظرفیت (با برد):

در زیر 8 هفته گذشته داده‌های اشغال [منبع] آمده است. (1) نرخ رشد متوسط ​​هفتگی را محاسبه کنید، (2) اثرات فصلی را نشان دهید، (3) زمان رسیدن به آستانه 90٪ را با نرخ فعلی، با دامنه های خوش بینانه و بدبینانه تخمین بزنید. یک تاریخ مشخص کنید، یک محدوده مشخص کنید و فرضیات خود را بنویسید. داده ها: [سری زمانی]

4) توصیه آستانه هشدار:

خط پایه من برای [متریک] [محدوده] است. هدف من به حداقل رساندن هشدارهای اشتباه بدون از دست دادن مشکلات واقعی است. به من توصیه ای برای (1) هشدار و (2) آستانه بحرانی، توجیه هر یک و ارزیابی خطر خستگی هشدار بدهید. من آستانه نهایی را تعیین می کنم.

اعلان ضعیف / اعلان قوی

اعلان ضعیف:

آیا سرور من کند است؟

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

اعلان قدرتمند:

نقش شما: متخصص برنامه ریزی ظرفیت. در زیر 14 روز آخر زمان پاسخ p95 و درخواست‌ها/ثانیه داده‌های یک API (ماسک) آمده است. پایه من برای p95 250-400 میلی ثانیه است. به من بگویید (1) روزهایی را که در 14 روز گذشته از خط پایه خارج شده اند علامت گذاری کنید، (2) به من بگویید که آیا رابطه قابل مشاهده ای بین زمان پاسخ و بار درخواست وجود دارد (به عنوان یک فرضیه)، (3) پیش بینی کنید که p95 در 30 روز در صورت ادامه این روند به کجا خواهد رفت. داده ها: [سری زمانی]

نوع متریک

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

اندازه گیری دقیق

زمان پاسخگویی

فقط متوسط

p50, p95, p99

CPU/حافظه

ارزش لحظه ای

پیک + پایدار + خط پایه

رشد دیسک

اشغال امروز

روند هفتگی + طرح ریزی

ناهنجاری

تک پرش

انحراف مداوم از خط پایه

زنگ هشدار

آستانه تک دلخواه

هشدار مستدل + آستانه بحرانی

اشتباهات رایج

  • همه چیز را با میانگین اندازه گیری کنید. میانگین تجربه بد تعداد معدودی را پنهان می کند. رجوع به صدک شود.
  • جستجوی ناهنجاری ها بدون خط پایه. شما نمی توانید بگویید که یک مقدار غیر طبیعی است بدون اینکه بدانید چه چیزی نرمال است. شما یک هشدار کاذب ایجاد می کنید.
  • اشتباه گرفتن فصلی با یک روند. تلقی کردن اوج کمپین به عنوان رشد دائمی و گرفتن منابع غیر ضروری هزینه دارد.
  • با تکیه بر پیش بینی اعداد فرد. "دقیقا 19 روز" دقت نادرستی است. از محدوده خوش بینانه-بدبینانه استفاده کنید.
  • فراموش کردن زمان منبع یابی تیمی که آستانه طرح ریزی و زمان خرید را با هم در نظر نگیرد در وقفه گرفتار خواهد شد.
احتیاط: پیش بینی روند AI فرض می کند که گذشته در آینده نیز ادامه خواهد داشت. عرضه محصول جدید، مهاجرت مشتری یا تغییر معماری این فرض را مختل می کند. این وظیفه شماست که طرح را با زمینه خود اصلاح کنید.

به طور خلاصه

نظارت بر عملکرد به این سوال پاسخ می دهد که "آیا الان خوب است؟" و برنامه ریزی ظرفیت به این سوال پاسخ می دهد که "چه زمانی کافی نیست؟" هوش مصنوعی شریک قدرتمندی در تفسیر معیارها، ایجاد خطوط پایه، پرچم‌گذاری ناهنجاری‌ها و پیش‌بینی روندها است. اما میانگین دروغ - از صدک استفاده کنید. بدون خط مبنا هیچ ناهنجاری وجود ندارد - ابتدا نرمال را تعیین کنید. فصلی را از روند جدا کنید. و طرح را به عنوان یک محدوده، نه یک عدد واحد در نظر بگیرید. سرمایه گذاری در منابع و تصمیمات آستانه هشدار به همراه زمان هدایت منابع و زمینه کسب و کار، انسانی است.

وظیفه کاربردی

داده های چند هفته گذشته را برای یک منبع (دیسک، حافظه، زمان پاسخگویی) از سیستم های خود استفاده کنید و مناطق حساس را پوشش دهید. محدوده و الگوی نرمال را با الگوی "Baseline Subtraction" در بالا کم کنید. سپس از الگوی «پیش‌بینی ظرفیت» بخواهید تا زمانی که به یک آستانه می‌رسید، با دامنه خوش‌بینانه-بدبینانه پیش‌بینی کند. همچنین، متریک زمان پاسخ خود را با استفاده از الگوی "درصد" تفسیر کنید و ببینید آیا چیزی وجود دارد که میانگین پنهان است یا خیر. یافته های خود و اقداماتی را که انجام خواهید داد در 5 مورد یادداشت کنید.

چک لیست

  • [ ] آیا به جای میانگین در معیارهای زمان پاسخ، به p95/p99 نگاه کردم؟
  • [ ] آیا قبل از جستجوی ناهنجاری ها، یک خط پایه از داده های سالم ایجاد کرده ام؟
  • [ ] آیا من نوسانات فصلی را از روند دائمی متمایز کرده ام؟
  • [ ] آیا من پیش بینی را به عنوان یک محدوده خوش بینانه-بدبینانه به جای یک تاریخ واحد در نظر گرفتم؟
  • [ ] آیا زمان منبع یابی را همراه با آستانه طرح ریزی ارزیابی کرده ام؟
  • [ ] آیا آستانه هشدار را بر اساس میزان تحمل ریسک خودم تنظیم کردم و نه یک توصیه هوش مصنوعی؟