تست نرم افزار | تست وب سرویس | تست نفوذ | مانیتورینگ برنامه

در اینجا موضوعاتی حول محور تست نرم افزار و صحت عملکرد سیستم بهمراه ارایه بروزترین مباحث مانیتورینگ مطرح خواهد شد.

تست نرم افزار | تست وب سرویس | تست نفوذ | مانیتورینگ برنامه

در اینجا موضوعاتی حول محور تست نرم افزار و صحت عملکرد سیستم بهمراه ارایه بروزترین مباحث مانیتورینگ مطرح خواهد شد.

سلام خوش آمدید

مبانی و اهداف مانیتورینگ

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

  • کارکرد : نقش برنامه کاربردی چیست؟ آیا یک دیتابیس سرور، وب سرور، سرور توازن بار است؟
  • عملیات :  برنامه کاربردی چه نوع درخواستی را خدمت رسانی می‌کند، و یا چه عملیاتی را انجام می‌دهد؟ پایگاه داده ها وظیفه خدمت رسانی به عبارات جستجو و (دستورات) و وب سرورها مسئول ارائه خدمات به درخواست های HTTP می‌باشد. این را می توان جهت اندازه گیری میزان بار و همچنین برای برنامه ریزی ظرفیت سیستم اندازه گیری کرد.
  • حالت پردازنده :  آیا برنامه به عنوان نرم افزار سطح کاربر یا سطح هسته پیاده سازی شده است؟ اکثر برنامه ها در سطح کاربر هستند که به صورت یک یا چند فرآیند اجرا می شوند ، اما برخی از آنها به عنوان سرویس های هسته (به عنوان مثال NFS) اجرا می شوند.
  • پیکربندی:  چگونه برنامه پیکربندی شده است و چرا؟ این اطلاعات را می توان در یک فایل پیکربندی یا از طریق ابزارهای مدیریتی یافت. بررسی کنید که آیا پارامترهای قابل تنظیم مربوط به کارایی تغییر کرده است، از جمله اندازه بافر ، اندازه حافظه پنهان، موازی کاری (فرآیندها یا رشته ها) و گزینه های مشابه دیگر.
  • معیارها:  معیارهای کارایی برنامه کاربردی باید مشخص شده باشد، مانند نرخ عملیات؟ ممکن است این معیارها توسط ابزارهای همراه یا شخص ثالث، از طریق درخواست های API یا پردازش فایل های ثبت وقایع (logs) ارائه شوند.
  • لاگ ها: برنامه چه عملیاتی را ثبت می‌کند؟ کدام لاگ ها برای ثبت، فعال هستند؟ کدامیک از معیارهای کارایی از طریق لاگ در دسترس است؟ برای مثال MYSQL، جستجوهای کند را ثبت می کند. slow query log که در این فایل، اطلاعات ارزشمند و جزئیات بسیاری در مورد کارایی برخی عبارات جستجو وجود دارد.
  • نسخه: آیا نسخه برنامه، نهایی می باشد؟ آیا مشکلات کارایی یا بهبودهایی در نسخه های آخر برنامه اعمال شده است؟
  • باگ ها:  آیا پایگاه داده برای برنامه اشکالی ایجاد کرده است؟ چه باگ هایی برای نسخه جاری برنامه وجود دارد؟ اگر در حال حاضر اشکالات کارایی وجود دارد، آنها را در پایگاه داده و هرچیزی که در آن مشارکت دارد، جستجو و بازبینی کنید.
  • کارشناسان: چه کسی مسئولیت فنی کارایی برنامه را دارد؟ نام های آنها را یادداشت کنید تا بتوانید از طریق آنها مستندات را تهیه نمایید.

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

اهداف کارایی در مانیتورینگ

یک هدف کارایی (performance goal)، اهداف کار در تجزیه و تحلیل کارایی را فراهم می‌سازد. بدون هدف مشخص، تجزیه و تحلیل کارایی، خطر تبدیل شدن به یک ماهیگیری تصادفی را دارد.

مبانی و اهداف مانیتورینگ

 

در  مانیتورینگ  برای کارایی برنامه، شما می توانید با این که برنامه چه عملیاتی را انجام می دهد و هدف کارایی برای آن عملیات چیست، شروع کنید. هدف ممکن است موارد زیر باشد:

  • تاخیر :  زمان پاسخ کم برنامه
  • توان عملیاتی :  نرخ بالای عملیات برنامه یا نرخ ارسال داده
  • بهره برداری منابع :  کارآمدی برنامه تحت یک بار کاری

بهتر است این موارد با استفاده از معیارهایی نظیر کیفیت خدمات و الزامات تجاری، کمّی شوند. برای مثال موارد زیر را در نظر بگیرید:

  • میانگین تاخیر برای درخواست برنامه کمتر از 5 میلی ثانیه باشد  
  • 95% درخواست ها تاخیری کمتر از 100 میلی ثانیه داشته باشند  
  • درخواست هایی که فراتر از میزان تاخیر 1000میلی ثانیه هستند، حذف شوند. 
  • حداکثر توان عملیاتی هر برنامه مستقر برروی سرور 10000 درخواست در ثانیه باشد. 
  • میانگین بهره‌وری دیسک برای 10000 درخواست برنامه، کمتر از 50% باشد. 

پس از انتخاب هدف، شما می توانید برروی محدودکننده های آن هدف کار کنید. مثلا برای تاخیر، یک نمونه محدودکننده می‌تواند ورودی/خروجی دیسک یا شبکه باشد. برای توان عملیاتی نیز ممکن است میزان استفاده از CPU باشد.

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

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

در اینجا موضوعاتی حول محور تست نرم افزار و صحت عملکرد سیستم بهمراه ارایه بروزترین مباحث مانیتورینگ مطرح خواهد شد.

نویسندگان