ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-26, Sunday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

.NET 10 හි BackgroundService අලුත් වැඩිදියුණුකම - ඇප් ආරම්භය තදබදයෙන් මිදී!

.NET 10 හි BackgroundService අලුත් වැඩිදියුණුකම - ඇප් ආරම්භය තදබදයෙන් මිදී!

ASP.NET Core යෙදුම්වල BackgroundService භාවිතා කරමින් වාරික ආරම්භක කාර්ය (warm‑up) සිදු කරන විට, .NET 8 දක්වා තිබූ නුසුදුසු ක්‍රමයක් නිසා සම්පූර්ණ යෙදුමේ ආරම්භය අඩු වේගයෙන් සිදු වුණා.

මෙම ගැටලුවේ මූලික හේතුව BackgroundService.StartAsync ක්‍රමය ExecuteAsync එක සෘජුවම කැඳවීමයි. එමඟින්, await එකක් එන තුරු කේතය සින්ක්‍රෝනස් ලෙස ක්‍රියාත්මක වෙලා, වෙබ් සේවාදායකය (Kestrel) ඇරඹීමට පෙර සියලු සින්ක්‍රෝනස් I/O (උදාහරණයක් ලෙස Thread.Sleep) නිම වීමට ඉවසීමට සිදු වුණා.

ඒ නිසා සේවාදායකය පෝට් එකේ අහවර වීමට පෙර තත්පර ගණනාවක් (උදාහරණයක් 3.2 s) ගතවී, health‑check එක අසාර්ථකව, Kubernetes පෝඩ් එක නවතා දමන තත්ත්වයක් පවා ඇතිවුණා.

.NET 10 තුළ BackgroundService.StartAsync ක්‍රමය Task.Run(() => ExecuteAsync(...)) ලෙස වෙනස් කර ඇත. එයින් ExecuteAsync ත්‍රෙඩ් පූලයකට යවා, ආරම්භක පථය ඉක්මනින් ඉදිරියට යයි. දැන් සින්ක්‍රෝනස් කේතයක් ලියා තැබූවත්, Kestrel 256 ms කාලය තුළම ඉල්ලීම් පිළිගන්නා ලදී.

මෙම වෙනස මඟින් පූර්ව වසර ගණනාවක් “await Task.Yield()” යෙදවීමේ උපදෙස් අවශ්‍ය වීම අතුරුදන් වුණා. නව runtime එකේ Task.Run එකම එම කාර්යය විසඳන එකම පියවරයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • ශ්‍රේෂ්ඨ .NET පාඨමාලා සිසුන්ට නව runtime හැසිරීම ඉගෙන ගැනීමට හොඳ අවස්ථාව.
  • ලෝකීය සමාගම් වලට .NET යෙදුම් වේගවත් කර, cloud resource භාවිතය අඩු කර, වියදම ඉතිරි කිරීමේ හැකියාව.
  • ලංකාවේ තාක්ෂණික startups සඳහා වේගවත් start‑up time එක නිසා සේවා පරීක්ෂණ හා CI/CD pipeline වේගවත් වේ.
  • DevOps ඉංජිනේරුවන්ට health‑check timeout ගැටලුවක් නැතිව, Kubernetes පෝඩ් අස්ථානගත කිරීමේ අවදානම අඩු වේ.

සාරාංශය ලෙස, .NET 10 හි මෙම කුඩා Task.Run වෙනස, .NET developers සඳහා hidden performance bottleneck එකක් ඉවත් කරයි. ඔබගේ ව්‍යාපාරික හෝ අධ්‍යාපනික ව්‍යාප්තයන්හි .NET 10 හෝ අලුත්ම runtime එක භාවිතා කර, අධික start‑up latency එකෙන් මුදල් හා කාලය ඉතිරි කරන්න.

💡 ඔබේ .NET යෙදුම දැන්ම අලුත් Runtime එකෙන් පරීක්ෂා කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#dotnet #BackgroundService #Performance #CSharp #SriLankaTech