آموزش افزایش کارایی در ASP.NET Core

تعداد ویدئو 67
زمان دوره 02:50:52
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش افزایش کارایی در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، افزایش کارایی و یا Performance در وب اپلیکیشن های ASP.NET Core است که با نام اصلی ASP.NET Core 6 Performance از شرکت Pluralsight منتشر شده است.

بهینه سازی کارایی و یا Performance در ASP.NET Core

در اپلیکیشن های بزرگ و کوچک می توان با تمرکز کردن بر روی بهینه سازی و یا optimize کردن کارایی و یا performance تجربه کاربری بهتری را در برنامه ایجاد کرد. خصوصاً اگر نرم افزارهایی دارید که در سیستم های رایانش ابری میزبانی می شوند و با تمرکز بر روی performance می‌توانید هزینه‌های خود را نیز کاهش دهید. بسیاری از بهینه ‌سازی‌های کارایی یک نرم افزار ایجاد شده با ASP.NET Core در حوزه های مشخصی انجام می‌پذیرد و از این طریق performance سراسری برنامه افزایش پیدا می‌کند. در این قسمت در رابطه با برخی از تکنیک های بهینه سازی performance صحبت می‌کنیم. پیاده‌ سازی برخی از این موارد بسیار ساده هستند ولی پیاده سازی برخی از موارد دیگر نیز نیازمند داشتن دانش و تخصص قابل توجهی می باشند.

ASP.NET Core 6 Performance Snapshot

تعداد فراخوانی ها به databases و یا API call های external را کاهش دهید.

همانطور که احتمالا می‌دانید database call ها و API call ها شدیدا کند هستند و اگر تعداد زیادی از آنها را در یک نرم افزار داشته باشید بر روی سرعت نرم افزار تاثیر منفی می گذارند. بنابراین می‌توان با کاهش API call ها و database call ها و بررسی و تجزیه و تحلیل گلوگاه های مربوط به این گونه از عملیات بهینه سازی برنامه را در دستور کار قرار داد.

از نسخه‌های ناهمزمان وAsync که مربوط به متد ها استفاده کنید.

همین ابتدای امر بایستی خدمتتان بگوییم که استفاده کردن از برنامه نویسی نا همزمان و یاAsync به خودی خود باعث افزایش سرعت برنامه نمی شود. حتی در برنامه هایی که ترافیک کمی دریافت می‌کنند استفاده کردن از این تکنیک باعث افت performance نیز می‌شود. اما مزیت استفاده کردن از asynchronous programming در واقع افزایش قابلیت مقیاس پذیری و یا scalabilityبرنامه می باشد. این موضوع به این طریق اتفاق می افتد که هرrequest وارد شده به برنامه توسط یک thread منحصر به فرد انجام می‌شود. در پیاده سازی های همزمان و synchronous زمانی که یک database call و یا API call اتفاق می‌افتد و یا هرگونه عملیات خواندن و نوشتن انجام می پذیرد thread مورد نظر می بایستی منتظر تکمیل شدن آن اتفاق بماند. به عبارت دیگر آن thread به صورت بیکار فقط در انتظار باقی می ماند. با استفاده از Async و await می‌توان هم این موضوع را حل و فصل کرد. با استفاده از کلمات کلیدی است Async و awaitشما می توانید از یک thread دیگر که آن را از thread pool موجود در دات نت دریافت می کنید، عملیات کند تر مدنظر خود را انجام داده و منتظر دریافت پاسخ آن نمانید. این موضوع بهره وری سرور را افزایش می‌دهد و حتی زمینه بهینه سازی های بیشتر را نیز فراهم می‌کند.

اگر نیاز به استفاده کردن از HttpClient دارید آن را به درستی انجام دهید.

کلاس HttpClient کمک می کند تا بتوانید از API های مختلف استفاده کنید. اما استفاده کردن از این کلاس، مشکلی دارد و آن هم اینکه در load و یا فشار زیاد، برنامه تعداد سوکتهای قابل دسترس را شدیدا کاهش می‌دهد و این موضوع به دلیل باز کردن و بستن اتصالات و یا connection ها اتفاق می‌افتد. همین اتفاق باعث کاهش بهره‌ وری سرور می گردد. روش بهتره استفاده کردن از HttpClient در واقع مورد استفاده مجدد قرار دادن آن است. به عبارت دیگر باید در صدد استفاده مجدد از سوکت ها برای چندین ریکوئست مختلف بر بیاییم. برای انجام این کار ساده ترین روش استفاده کردن از HttpClientFactory می باشد. به سادگی می توان یک نمونه از اینترفیس IHttpClientFactory را به درون سرویس تزریق کرد و پس از آن، از آن به منظور ارتباط گرفتن با API ها استفاده نمود. علاوه بر روش هایی که در این قسمت برای بهبود کارایی و یا performance برنامه های توسعه داده شده با ASP.NET Core از آنها صحبت کردیم تکنیک ها و روش های بیشتری نیز وجود دارند که می‌توانید از آن‌ها نیز برای بهبود عملکرد برنامه های نوشته شده نوشته شده با ASP.NET Core کمک بگیرید.

سرفصل مطالب آموزش ویدئویی افزایش کارایی در ASP.NET Core

فصل اول: مقدمه این دوره آموزشی

  • مقدمه

فصل دوم: اولین قدم ها برای بهینه سازی کارایی (Performance)

  • مقدمه
  • فریمورک ASP.NET Core سریع است و در حال بهتر شدن است
  • اصول کار کردن در ASP.NET Core
  • آموزش عملی: معرفی اپلیکیشن این دوره آموزشی
  • آموزش عملی: کار کردن با System.Text.Json
  • آموزش عملی: کار کردن با Source Generator ها در کنار System.Text.Json
  • آموزش عملی: نکات و ترفند های Entity Framework Core

فصل سوم: تکنیک های Caching

  • مقدمه
  • بررسی مفاهیم اساسی
  • آموزش عملی: پیاده سازی In-memory Caching با Expiration
  • آموزش عملی: پیاده سازی Distributed Caching با Expiration
  • آموزش عملی: استفاده کردن از Redis به عنوان Distributed Cache
  • آموزش عملی: مشکلات مربوط به پیاده سازی Caching مبتنی بر Expiration
  • آموزش عملی: پیاده سازی Cache Invalidation بصورت Cache Invalidation
  • انتخاب یک Distributed Cache
  • بررسی Response Caching
  • آموزش عملی: Middleware مربوط به Response Caching
  • نکات بیشتر مربوط به Response Caching

فصل چهارم: تکنیک های مربوط به کد های Asynchronous

  • مقدمه
  • آموزش عملی: تبدیل کردن کد های Synchronous به Asynchronous
  • آموزش عملی: کار با Razor Pages های Asynchronous بازگرداندن تسک ها از کد های Synchronous
  • آموزش عملی: دلایل عدم استفاده از Async وAwait
  • آموزش عملی: اجرای موازی تسک ها
  • آموزش عملی: کار کردن با Cancellation Token ها
  • جمع بندی

فصل پنجم: کار با HttpContext و Form ها و Http Client ها

  • مقدمه
  • آموزش عملی: استفاده کردن از HttpContext در Page و کنترلرها
  • آموزش عملی: استفاده کردن از HttpContext در کلاس های دیگر
  • استفاده کردن از HttpContext در تسک های موازی
  • آموزش عملی: خواندن Form Content
  • آموزش عملی: با استفاده از HttpClient های نامگذاری شده و یا Named HttpClient ها
  • آموزش عملی: مدیریت کردن Token در Named HttpClient ها
  • آموزش عملی: با استفاده کردن از Typed HttpClient ها
  • نکات بیشتر

فصل ششم: کار کردن با Diagnostics و Benchmarking و Load Testing

  • مقدمه و تعاریف
  • بررسی اجمالی مفاهیم Diagnostics
  • آموزش عملی: استفاده کردن از Logging و Seq
  • آموزش عملی: ایجاد کردن Log Entrie های مربوط به Performance
  • بررسی Option های مربوط به Diagnostic و Logging
  • بررسی چالش های مربوط به اپلیکیشن های دچار مشکل شده
  • آموزش عملی: با استفاده کردن از dotnet-trace
  • بررسی اجمالی Benchmarking
  • آموزش عملی: با استفاده کردن از BenchmarkDotNet
  • بررسی اجمالی Load Testing
  • آزمایش عملی: API Load Testing با NBomber
  • آموزش عملی: بررسی بهبود Async با استفاده از مفاهیم همروندی (Concurrency)
  • آموزش عملی: Load Testing با JMeter
  • جمع بندی

فصل هفتم: بهینه سازی کردن Response ها وUI Asset ها

  • مقدمه
  • مقایسه HTTP-2 و HTTP-3
  • آموزش عملی: استفاده کردن از SSL برای ایجاد ضرورت در استفاده کردن از HTTP-2
  • بررسی Response Compression
  • آموزش عملی: پیاده سازی API Response Compression
  • آموزش عملی: پیاده سازی UI Response Compression
  • آموزش عملی: Minification
  • آموزش عملی: Bundling

فصل هشتم: بهینه سازی استفاده از حافظه و یا Memory Usage

  • مقدمه و راهکار
  • بررسی حافظه و Performance در ASP.NET Core
  • مدیریت حافظه و مبحث Garbage Collection
  • مدیریت حافظه در اپلیکیشن های ایجاد شده
  • آموزش عملی: تجزیه و تحلیل حافظه در ویژوال استودیو
  • آموزش عملی: بررسی استفاده از حافظه و یا Memory Usage به همراه dotnet-counters
  • آموزش عملی: تجزیه و تحلیل کردن Memory Usag با dotnet-dump و dotnet-gcdump
  • نکات بیشتر مربوط به مدیریت حافظه
  • آموزش عملی: کار با اپلیکیشن MemoryLeak
  • جمع بندی

1 دیدگاه برای آموزش افزایش کارایی در ASP.NET Core

  1. red.sky.6109 (خریدار محصول)

    صدا با تصویر همخوانی نداره و درواقع هر ویدئویی که باز میکنم توضیخات مربوط به ویدئو قبلی را میشنوم

    • پرووید

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید