An extensible application always uses the same amount of resources instead of exhausting system resources, regardless of the number of users and the data volume. An extensible application can process heavier loads by using more system resources. For example, if the application load doubles, an extensible application will use twice as many system resources as before.
In contrary, non-extensible applications will exhaust system resources. The throughput will not increase even if the application load increases. For non-extensible applications, the throughput is fixed and the response time is relatively long.
The following are some examples of resource exhaustion:
Hardware resource exhaustion
Insufficient disk I/O capabilities due to scans of large tables
Network and scheduling bottlenecks caused by a large number of network requests
Excessively frequent memory allocation caused by a large number of page changes and data exchanges.
System breakdown cause by a large number of processes and frequent thread assignment