Why My ASP.NET Application's Performance Is Less Than Optimal?
From my recent engagements I collected few performance anti-patterns that make ASP.NET web application to perform the way that is less than optimal. Many related to architecture and design. Below is the list of the anti-patterns and related materials on how to identify, analyze, and fix it. Have fun - if you feel like sharing your own experiences - that would rock my world! |
by striatic |
Why My ASP.NET Application Slow?
- Improper HTML Rendering
- Large data volumes sent over the wire
- Complex algorithms, casting, serialization costs
- Chatty database access
- Session overuse – blows your RAM causing working process recycles
- Long running operations – locking on worker threads (threadpool)
- Synchronous communications w/downstream resources (web services, databases)
- Locking files (notice the low CPU in the picture below - this is where the application is locked with teh following excetion)
- Exception message: The process cannot access the file 'c:\inetpub\wwwroot\webapp\my.log' because it is being used by another process.
- Serialization
- Dynamic compilation
- ViewState
- Chatty resources access
This post is made with PracticeThis.com plugin for Windows Live Writer
Comments
- Anonymous
March 06, 2009
Great list!!Linked to the session overuse I would add "beware of session overuse when moving it to out-of-proc (ie. sql state server)" one more latency point is introduced (network, db access) - Anonymous
March 06, 2009
Thank you, Jaime!Your point regarding the out-of-proc session is generally very good. The thing is that I compiled the list based on my own experiences - something i personally dealt with. I never hit out-of-proc session DB or Service.Anyway, thanks for the insight! - Anonymous
March 08, 2009
.NET ASP.NET Routing performance compare to HttpHandler LINQ on Objects Performance Why My ASP.NET Application - Anonymous
March 08, 2009
.NETASP.NETRoutingperformancecomparetoHttpHandlerLINQonObjectsPerformanceWhy... - Anonymous
March 08, 2009
You are voted (great) - Trackback from Web Development Community