ابزارهای عملکردی برای ASP.NET (بخش یک)

سه شنبه 10 فروردین 1400

یکی از بهترین موارد در مورد اینکه توسعه دهنده NET. شوید، همه ابزارهای عملکردی شگفت‌انگیز ASP.NET است که می‌توانند زندگی شما را آسان‌تر سازند.

ابزارهای عملکردی برای ASP.NET (بخش یک)

این مقاله لیستی از انواع مختلف ابزارهای عملکردی ASP.NET است که برای یافتن و بهینه سازی مشکلات عملکردی ASP.NET در اختیار شما قرار می‌گیرد. با توجه به کاری که قرار است انجام دهید، برخی از این ابزارها بسیار بهتر از سایر ابزارها خواهند بود.

ابزارهای عملکردی برای NET. و ASP.NET

1. NET Code Profilers.

اگر می خواهید عملکرد کد خود را خط به خط تنظیم کنید، یک code profiler خوب دوست شما است. آن ها برای زمان‌هایی که شما یک برنامه کنسول دارید و می‌خواهید یک متد خاصی را 1000 بار اجرا کنید تا پردازنده و حافظه مورد استفاده را تنظیم کنید، عالی عمل می‌کنند. آن‌ها همچنین بسته به سرویس های ویندوز موجود یا برنامه های ASP.NET برای یافتن مسیرهای داغ در کد شما بسیار عالی کار می‌کنند.

مزایا:

متدها و کدها را بسیار عمیق تحلیل می‌کنند.

NET code profilers. می‌تواند بر روی دستگاه های لوکال مورد استفاده قرار گیرد و برخی از آن‌ها از دیباگینگ و profiling راه دور پشتیبانی می‌کنند.

آن‌ها می‌توانند برای ردیابی مشکلات عملکردی مفید باشند.

معایب:

هنگامی که profiler در حال اجراست، پروفایل کردن کد و متد می‌تواند سرعت برنامه شما را خیلی کند کند. در محیط های تولید ترجیح داده نمی‌شود.

برای اجرای بی وقفه جهت نظارت بر عملکرد مداوم طراحی نشده است.

ابزارهای محبوب:

Visual Studio Performance Analyzer & Intellitrace

Red Gate ANTS

JetBrains dotTrace

2. ASP.NET Performance Profilers و دنبال کردن فرآیندها 

ما مطمئن نیستیم که چگونه این‌ها را دسته‌بندی کنیم، اما چندین گزینه عالی برای تحلیل عملکرد برنامه‌های ASP.NET وجود دارد، بدون اینکه profiling کامل کد انجام شود. این موارد همه ردپای عملیات دقیق درباره هر درخواست وب ASP.NET را ثبت می کنند.

Glimpse و Miniprofiler متفاوت از یکدیگر عمل می‌کنند اما در واقع هر دو به شما این امکان را می دهند تا برخی از جزئیات مربوط به عملکرد برنامه خود را هنگام توسعه یا تولید درک کنید. اما فقط برای عملکرد درخواست فعلی که شما اجرا می کنید، ASP.NET profiling انجام می شود.

مزایا:

این ابزارها برای عیب یابی عملکرد ASP.NET در هنگام توسعه و سناریوهای QA-type عالی هستند.

همچنین می‌توانند در تولید با حداقل سربار عملکردی مفید باشند.

معایب:

آن‌ها فقط جزئیات مربوط به درخواست فعلی شما را که در حال اجرای آن هستید نشان می‌دهند. بنابراین نمی‌توانید مشکلات عملکردی ASP.NET را که کاربران تان مشاهده می کنند را عیب‌یابی کنید مگر اینکه همان مراحل دقیق را باز تولید کنید.

برای نظارت بر عملکرد مداوم کل برنامه شما استفاده نمی‌شوند.

ابزارهای محبوب:

Glimpse می‌تواند جزئیات زیادی را درباره یک درخواست وب و کانفیگ سرورتان به شما نشان دهد.

Miniprofiler کوئری‌های دیتابیس را ردیابی می‌کند و در صورت افزودن کد در برنامه خود برای مراحلی که می‌خواهید ردیابی کنید،‌ می‌تواند جزئیات بیشتری را ارائه دهد.

Prefix جزئیات عملکردی در سطح عمیق را در مورد برنامه یتان ارائه می‌دهد. از جمله تمام عبارات SQL، خطاها، لاگ‌ها، فراخوانی‌های HTTP، و جزئیات ده‌ها فریم‌ورک دیگر. Prefix code profiler به شما این امکان را می‌دهد کد خود را هنگام نوشتن آن تست و پروفایل کنید.
3. NET Application Performance Management (APM).

ابزارهای Application performance management از هر دو مورد قبلی بهتر هستند. آن‌ها برای code profiling سبک در هر درخواست وب طراحی شده‌اند که تأثیری بر عملکرد برنامه‌های شما ندارند. آن‌ها می‌توانند جزئیات سطح بالایی را که برای شناسایی مشکلات رایج عملکردی مورد نیاز است را جمع‌آوری کنند و برنامه‌های تولیدی شما را بدون وقفه نظارت کنند تا مطمئن شوند همیشه به درستی کار می‌کنند.

مزایا:

عملکرد مدوام برنامه های تولیدی را مانیتور یا نظارت می‌کنند.

درخواست های کند وب، درخواست‌های دیتابیس، سرویس‌های وب و موارد دیگر را به سرعت شناسایی می‌کنند.

به طور معمول می‌توانند درهر برنامه ای بدون تغییر کد یا کانفیگ‌ها استفاده شوند.

می‌توانند در محیط های QA-type برای شناسایی مشکلات عملکردی قبل از ایجاد محصول مفید باشند.

معایب:

می‌توانند بسیار گران باشند.

بیشتر آن‌ها از الگوهای کدنویسی جدیدتر async/await پشتیبانی نمی‌کنند.

برخی از محصولات با برنامه‌های Azure Web یا سایر سناریوهای هاستینگ ابری کار نمی‌کنند.

بسیاری از ابزارها می‌توانند اطلاعات بسیار زیادی را ارائه دهند و استفاده از آن‌ها دشوار است.

ابزارهای محبوب:

مانیتورینگ برنامه های NET. با یک مورد خوب APM مانند Stackify Retrace بسیار آسان‌تر است. Retraces به شما امکان می‌دهد code profiling، ردیابی خطا، و لاگ های برنامه را در برنامه خود انجام دهید. اما این همه کار نیست. شما می توانید هنگام نوشتن، کد خود را بهبود بخشید زیرا Retrace می‌تواند سریعا مشکلات شما را خطایابی کرده و روش هایی را برای بهنیه‌سازی کدتان در اختیارتان قرار دهد.

ابزارهای APM در بازار Relic، AppDynamics، Dynatrace و غیره هستند.

4. Real User Monitoring

این روزها بیشتر برنامه ها از جاوا اسکریپت زیادی استفاده می‌کنند. برای پیگیری عملکرد مدت زمانی که کاربران شما می‌خواهند همه JavaScript، CSS و تصاویر سایت شما را دانلود کرده و رندر کنند، از real user monitoring (RUM) استفاده خواهید کرد.

اکثر providerهای real user monitoring ،APM را نیز ارائه می‌دهند.

Stackify Retrace به عنوان بخشی از راهکارهای مدیریت عملکردی real user monitoring را نیز ارائه می‌دهد. با RUM ی Retrace، هنگامی که مشتریان‌تان تجربه ضعیفی دارند، به شما هشدار داده می‌شود. سپس به طور خودکار به مهندسان UI شما چگونگی و مکان رفع آن را نشان می‌دهد.

5. شمارنده های عملکرد ویندوز (Windows Performance Counters)

مایکروسافت بسیاری از معیارهای داخلی مربوط به CLR، ASP.NET، و موارد دیگر را ارائه می‌دهد. برخی از مهم‌ترین موارد مربوط به پیگیری عملکرد مربوط به بازیافت حافظه، صف درخواست، حافظه مورد استفاده، CPU مورد استفاده،‌ میزان خطای HTTP، و بسیاری موارد دیگر است.

مزایا:

بر روی هر ویندوز سروری از قبل نصب شده است.

بیشتر ابزارهای مانیتورنیگ برنامه و سرور جهت جمع‌آوری آن‌ها برای گزارش طراحی شده‌اند.

معایب:

تطبیق دائمی تغییر نام‌ها و ID های فرآیند برنامه شما می‌تواند سخت باشد.

Azure Web Apps در دسترس نیست.

برای برنامه‌های موجود در چندین سرور، باید آن‌ها را از هر سرور جمع کنید تا مقایسه یا به هم پیوسته شوند که می‌تواند مشکل باشد.

بقیه ابزارها را در مقاله بعدی عنوان خواهیم کرد.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید