/scaling-and-performance-optimization-techniques-for-asp.net-applications - PowerPoint PPT Presentation

About This Presentation
Title:

/scaling-and-performance-optimization-techniques-for-asp.net-applications

Description:

From the client's perspective, performance is an important factor to consider while building an application because if it is degraded from various round trips, resources, ajax, or server calls, it gives the end user no option other than leaving your site. – PowerPoint PPT presentation

Number of Views:2
Slides: 7
Provided by: mayurtheonetech
Category: Other
Tags:

less

Transcript and Presenter's Notes

Title: /scaling-and-performance-optimization-techniques-for-asp.net-applications


1
Scaling and Performance Optimization Techniques
for ASP.NET Applications Introduction From the
client's perspective, performance is an important
factor to consider while building an application
because if it is degraded from various round
trips, resources, ajax, or server calls, it gives
the end user no option other than leaving your
site. To overcome this problem, you should always
keep an eye on improving your app's performance
by using performance boosters or best
practices. We all know that the good performance
of web applications is what a customer expects.
The issues related to performance occur when the
number of users increases in the application or
during load testing in UAT. And to fix this, you
need to invest efforts toward making code
modifications else everyone shall blame
developers for this issue. This is one of the
major reasons why developers choose the ASP.NET
Core framework for building error-free and
secure web applications. It provides a stable
foundation and adopts smart development practices
to ensure robust software is developed. Also,
perform timely checks to keep your app's
performance up to the mark. In this blog, we will
know why developers are still using .NET and how
to optimize your ASP.NET application performance
optimization. So, let us get started! Top 8
Performance-Improvement Techniques for ASP.NET
Applications Analyze Bottlenecks The initial
step for optimizing your ASP.NET application
performance is to analyze and understand the
problem area. The performance-related issues can
stem from architecture or design issues
that developers can fix. A few common problems
that can impact your app are improperly rendered
HTML, thread pool queries, and complex algorithms
due to long-running operations. Use Asynchronous
Calling The Async-Await Programming model was
addressed in C 5.0, and since its inception, it
has gained immense popularity among developers.
The applications developed using ASP.NET Core
uses the Asynchronous programming paradigm to
make the app faster, more reliable, and more
responsive. So, avoid using synchronous calling
and use Asynchronous calling while writing the
code because synchronous calling stops the
subsequent execution until the current execution
is completed. Here is an example of implementing
asynchronous programming at the repository level
public async Task lt List lt PostViewModel gtgt
GetPosts()
2
if (db ! null) return await(from p in
db.Post from c in db.Category where
p.CategoryId c.Id select new
PostViewModel PostId p.PostId, Title
p.Title, Description p.Description, CategoryId
p.CategoryId, CategoryName c.Name,
CreatedDate p.CreatedDate ).ToListAsync()

return null
3
Also, start using await instead of Task.Wait
and Task.Result. To perform this, follow the
below- mentioned code public class
WebHost public virtual async Task
StartAsync(CancellationToken cancellationToken
default)
// Fire IHostedService.Start await
_hostedServiceExecutor.StartAsync(cancellationToke
n).ConfigureAwait(false)
// More setup await Server.StartAsync(hostingApp
, cancellationToken).ConfigureAwait(false)
// Fire IApplicationLifetime.Started _applicatio
nLifetime?.NotifyStarted()
4
// Remaining setup Remove Unused
Modules Various requests are passed via HTTP
modules of ASP.NET pipelines and reach the
handler which servers the request. Then run a
code to check the list of active modules, and the
ones not being used should be removed to shorten
this pipeline journey of the request that are
unused. It would help you improve efficiency and
optimize the speed of your web application. To
eradicate a module, update the web.config file
because HTTP modules usually do not come with a
purpose. So, you can hire net developers to run
code and detect unused modules without turning
them off. Use Response Caching
Middleware Middle controls are activated when
responses are cacheable, making your code faster
and optimizing frequently called code paths and
store responses. The component is available
on Microsoft.AspNetCore.ResponseCaching
package. Add this package to the service
collection in Startup.ConfigureServices as shown
in the box public void ConfigureServices(IServic
eCollection services) services.AddResponseCach
ing() services.AddRazorPages() Enable
Compression Enabling response compression helps
in enhancing the app's performance because less
data is transferred between the server and the
client. It compresses the file size as it is
available as a middleware component that shrinks
the response and reduces bandwidth requirements.
5
Here is the code snippet to add response
compression middleware to the request processing
pipeline. public void ConfigureServices(IServiceCo
llection services) services.AddResponseCompr
ession() services.ConfigureltGzipCompressionProvid
erOptionsgt (options gt options.Level
CompressionLevel.Fastest ) We also
recommend using ASP.Net Cores built-in support
for bundling and minifying client files to
optimize web application performance. Necessary
ASP.NET Tools You can find a variety of tools to
manage your ASP.NET application a lot easier.
Some popular tools are ideal for finding hot
paths in code, .Net code profilers, windows
performance counters, and a few other tools that
provide metrics related to CPU usage, memory
usage, HTTP error rates, garbage collection, and
request queuing. To fetch more accuracy in
data, you need to create custom metrics that
focus on relevant areas of your app, keeping
track of custom metrics. Key performance
indicators will work based on your pre-
determined goal for performance optimization. You
can use IIS access logs to identify slow and user
requests to examine the optimization
areas. Optimize Data Access
6
  • One of the best practices for .Net app
    performance optimization is to enhance the data
    access logic. Apps depend on a database because
    they retrieve data from the database, process it,
    and display it. As the data is retrieved from
    the database, retrieving it becomes
    time-consuming, so it takes more time to load.
    To increase the app performance, you need to
    follow some techniques given below
  • Establish a cache for unchanged data.
  • Calling data access APIs asynchronously.
  • Decrease the number of HTTP calls.
  • Avoid fetching data in advance, which is not
    required as it increases the response load and
    slows down the application.
  • When using data for read-only purposes, use
    no-tracking queries in Entity Framework Core.
  • Fetch the required data in one or two calls
    rather than making multiple calls to the server.
  • Allow the database to perform filtering by using
    filter and aggregate LINQ queries.
  • Use Caching Technology
  • Lastly, boost your ASP.NET apps' performance by
    reducing the number of requests sent to the
    server every time. For this, you need to avoid
    calling the server and cache the data instead.
    You can also save the responses and use them the
    next time to call for the same response in the
    future if needed.
  • This is one of the most used techniques for
    caching that saves time and enhances the
    application's overall performance by reducing
    the server calls we make repeatedly.
  • To perform caching, ASP.NET provides effective
    techniques such as in-memory caching, distributed
    caching, caching tag helper, response caching,
    etc., for better performance.
  • Wrapping Up
  • Applications developed using the capabilities of
    ASP.NET offers a universe of possibilities for
  • developers. After reading this post, you must
    have known that optimizing application
    performance is complicated and requires effort
    and time. To implement the suggested practices
    and boost the
Write a Comment
User Comments (0)
About PowerShow.com