As a powerful web application development framework, ASP.NET is hugely popular among developers across the world. Microsoft also help platform in becoming mature by updating it regularly with fresh and extended features. The innovative features provided by ASP.NET4.5 enable developers to build and manage a variety of high-performance and highly scalable web application at a rapid pace. However, each developer also needs to learn some simple tricks that can boost the performance and scalability of the web application. The combination of advanced features and simple changes will make it easier for programmers to build web applications that become popular by optimizing user experience.
6 Simple Tricks to Boost the Performance and Scalability of ASP.NET Applications
1. System.net Configuration: The system.net is configured by default to allow two concurrent connections per each IP. So the web server can make only two concurrent calls while making outbound call to a specific server or calling WCF service on another server. The default number of concurrent connections is too low to support the requirements of distributed web applications, as the web server has make service call to other services frequently. Similar to the web application, the number of connection will also have an adverse effect in using web services. So you must change the system.net configuration at the machine.config or web.config to optimize the performance of your ASP.NET application.
2. WCF Default Configuration: By default, the WCF configuration allows only 16 concurrent calls per each service. Also, the default number of concurrent calls is reduced to 10, if you are using sessions and wsHttpBinding. So the default number is not adequate to meet the needs of popular and high-traffic websites. You have to exceed the default limit by defining an increased value for maxConcurrentCalls, maxConcurrentInstances and maxConcurrentSessions according to the requirements of your web application. Also, you need to use InstancePerContext.PerCall set to ensure that each request is handled by creating a new instance of the service.
3. Process Model Configuration: The process level properties of an ASP.NET application is defined in Process Model configuration. The configuration defines the number of thread used by the application, the number of request to keep in waiting, and the duration of blocking a thread before timing it out. As the default value of each process level of property, it may affect the scalability and performance of your web application. So you must reset the default values for maxWorkerThreads, maxIOThreads, minWorkerThreads, minIOThreads, memoryLimit to customize the functioning of ASP.NET work processes.
4. Enable Caching and Dynamic Compression on IIS: Along with changing the ASP.NET configuration, you also need to change the IIS configuration to make your dynamic web applications more scalable. For instance, if the dynamic content compression option is disabled, it will have a negative impact on the output from the WCF services and ASP.NET pages. So you must turn IIS compression on for both static and dynamic content. Often the Enable Dynamic Content Compression feature remains disabled by default. You can go to the “Add or Remote Features” from Windows start menu, and enable the dynamic content compression property from the IIS Features.
6. Avail the Bundling and Minification Feature: The updated version of the framework allows you to bundle and minify the size of scripts and style sheets used in the web application. You can avail the feature to optimize the performance of your website without putting any extra effort. ASP.NET4.5 allows you to bundle and minify files using the System.Web.Optimization namespace. The namespace can be found in the Global.asax file. You also have option to customize the default ASP.NET bundling features to suit the needs of your web application.
The updated version of ASP.NET also comes with a set of innovative features to make it easier for asp.net development companies to optimize the performance and scalability of their web application. Along with taking advantages of these new features, you also need to explore options to optimize the scalability and performance of the application by making small configuration changes.
6 ASP.NET Performance and Scalability Secrets