This is the capacity of the responsiveness of a system to execute any action within a given time interval. As part of software systems, we need to start defining measurable performance goals such as the following:
- The minimum or average response time
- The average amount of concurrent users
- The number of requests per second during high load or concurrency
The principal challenge that we have today as developers is the number of customers and devices that our application must handle, and, even more, whether our application is going to run on the internet or within an intranet only. The following diagram shows the topology of how an application is usually deployed and consumed:
High-load requests to a system
After understanding the principal concepts behind performance, scalability, and availability, let's review some key recommendations to increase the performance of applications.