I participated in DevDay 2015 and had the opportunity to take part in the Roberta Arcoverde lecture on the StackOverflow architecture. I found her approach to performance questioning interesting, including how well she stressed that they use certain rudimentary techniques to keep the site performing and performing better.
Well, recently I created my first Web application using ASP.NET MVC and I see that although using more advanced design patterns increase code extensibility and reuse, the performance presented is unsatisfactory. To get an idea, the main page of my application takes an average of 614 ms.
This application is simple, it is an application for displaying information stored in a SQLServer database that has been updated through a Webservice by another Desktop application. Below are the resources used to develop the site:
- EntityFramework (I perform class mapping through the EntityTypeConfiguration ; classes instead of DataAnnotations).
- SQLServer 2014 database with indexed tables.
- In the views I use some components of DevExpress and Twitter Bootstrap to adjust screen responsiveness.
- I have not yet implemented caching or routing in the application (I hope to have some tips while doing this in this question)
Although it is a broad topic, I wanted to know if you have any tips or a starting point to guide me on how to improve application performance. Tips like: how to use the cache? do I need to use routing? Do I need to exit the EntityFramework and migrate to a micro ORM like Dapper?