logo
System Design Core Concepts

performance与scalability

理解performance与scalability的区别与权衡

Scalability 是系统通过增减资源来应对需求变化的能力。

Trade-off 快览

Performance 关注“速度”:系统完成一次操作有多快(latency、response time)。
Scalability 关注“规模”:系统是否能随着 workload 增长而持续提供服务。

它们经常拉扯彼此:

  • 增加机器让系统更 scalable,但分布式协调会引入额外 latency。
  • 只为 performance 极致优化(单机、低通信)可能在流量增长时迅速 hit 限制。

performance-vs-scalability

scalability

下面是两种常见的 scaling 方式:

vertical-vs-horizontal

Vertical scaling

Vertical scaling(也叫 scaling up)是给现有机器加资源(CPU、RAM、Disk)来提升能力。换句话说,就是通过提升硬件规格来增强系统性能。

Advantages

  • 实现简单
  • 更易管理
  • data consistency 更好

Disadvantages

  • 停机升级风险高
  • 硬件升级受限
  • 可能成为 single point of failure

Horizontal scaling

Horizontal scaling(也叫 scaling out)是增加更多机器,把负载分散到多台 instances 上。

Advantages

  • 更高 redundancy
  • 更好的 fault tolerance
  • 弹性更强、效率更高
  • 升级更容易

Disadvantages

  • 复杂度上升
  • 数据一致性变难
  • 下游服务压力更大

相关练习题

performance与scalability

暂无相关练习题