Our challenges on project
Our client came to us with an existing custom web application, which combined business logic and statistic systems.
During a working day this application was used by 50-60 users. And each of them was constantly reporting problems:
- Delay of some processing requests exceeded 1 minute;
- Frequently requests were declined by the server or failed with errors;
- Application’s database contained an extremely huge amount of data which affected query performance;
During one year of cooperation we optimized the system and made it more acceptable for future usage in high load environment.
The most important solutions we applied in scope of this project:
- The first thing we did was server-side architecture optimization and refactoring. We introduced the possibility of running multiple instances of the application on different servers.
- We also split up the database into smaller parts, separated business data storage from statistical storage.
- Business data storage was also splitted to few parts using simple criteria. We created a custom router for database connections to choose an appropriate database in order to request parameters.
Our client received a completely new highload resistant system.
The main results are listed below:
- Maximum request time reduced to 7 seconds;
- Right after the launch of the new system, it was maintaining 400 users simultaneously;
- Significantly improved system stability and resiliency.
- Updated system is extremely scalable and can be easily extended according to active amount of users.
Technologies stack:
ASP.Net MVC,
Microsofr SQL Server,
IIS,
Multi-instance,
REST,
Sharding