可扩展的应用程序设计目标是不管用户量和数据量,每个应用只用相同的资源,而不是耗尽系统资源。伴随着系统资源利用相应的增长,可扩展的应用程序可以处理更大的负载。比如,如果应用负载加倍了,可扩展的应用程序就使用两倍的系统资源。

    不可扩展的应用程序会耗尽系统资源。如果应用负载增加,吞吐量不会增加。不可扩展的应用程序只会有固定的吞吐量和较差的响应时间。

    资源耗尽的例子有:

    • 硬件资源耗尽
    • 大数据量表扫描导致磁盘 IO 能力不足
    • 大量网络请求导致网络和调度瓶颈
    • 大量换页和交换导致内存分配繁忙
    • 大量进程和线程分配导致操作系统崩溃