How to decrease the page load time in ASP.NET application? What should be the precautions and specially when we are interacting with databases
e.g.
- wise use of viewstate
Set in web.config when deploying the app
etc
How to decrease the page load time in ASP.NET application? What should be the precautions and specially when we are interacting with databases
e.g.
Set in web.config when deploying the app
etc
Always measure after you refactored something to see if it makes a difference.
Also please take a look here for more information.
Grz, Kris.
There is an interesting article on MSDN with 10 tips to optimize ASP.Net apps. Its at
You could always trigger an async database action and have the page updated asynchronously - AJAX update panel comes to mind.
There is also Page Output Caching, useful if the page is largely static. It can also be done based on parameters, so you could potentially cache the page created for a given database search.
You can also take the over-the-top approach and reduce the "wordiness" of a page. I did this once for fun on a products page by shrinking the names of elements etc, managed to cut over 50% of page size, but it makes the markup entirely unreadable lol
Along this same route, apply reduction tools to css/javascript files - merge them too if you compress as compression becomes more efficient over fewer larger files.
Some of the key "take-aways" from TechEd 2010 North America:
<compilation debug=”false">
in web.config when deploying the app.You can watch the sessions online here, they're both highly recommended:
The most important thing before doing any work on optimizing, is indicating what needs to be optimized. Thousends of tips to optimize can be posted here, so it's better to find what your performance problem is, and ask a more specific question for help to optimize what you need. You can optimize 3 parts of a web application:
Serverside performance: Indicate the largest bottleneck (a profiler is an easy option to do that). Optimize the bottleneck. Optimizing smaller problems, or optimizing without measuring the amount of time can be a waste of time when the large one is still there.
Client side performance: Take the advise from tools like yslow, or google page speed.
Bandwidth: Send the smallest amount of data to the user as possible in the least amount of requests as possible.
80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc.
I'm not suggesting ignore the view state and database caching suggestions in the answers already provided. I'm pointing that for what I've found to be simplier alterations is to go for turning on GZip Compression in IIS, setting expiry headers on static elements to reduce server requests, optimize images using a tool such as smush.it
Run a report of your site using Zoompf for a very detailed report with estimate impact and easy of implementation ratings.
Never ever Deploy asp.net application under debug configuration on production. Find out here what scottgu has to say about this.
Use Cookie-less domains to serve static resources like images, scripts, styles etc. Each client request is sent along with whole bunch of cookies, you don't need cookies while serving pictures or scripts. So host those resources on a cookie-less domain.
Minify scripts, stylesheets and HTML response from the server. Removing unnecessary line-breaks and white-spaces can improve the time-to-load and bandwidth optimization.
You'll find many tips from here.