基础内容

定义:确保系统能够在合理的时间内完成其任务

关键概念

  • 吞吐量(Throughput):单位时间内系统处理的请求数量
    • 实现技术
      • 负载均衡
        • 将请求分发到多个服务器,提高整体吞吐量
        • 工具:Nginx, HAProxy, AWS ELB
      • 异步处理
        • 使用异步I/O操作提高系统并发处理能力
        • 框架:Node.js, asyncio(Python)
      • 批处理
        • 将多个请求合并处理,减少每个请求的开销
        • 示例:数据库批量插入操作
  • 响应时间(Response Time):系统对请求作出响应的时间
    • 实现技术
      • 缓存
        • 将常用数据缓存到内存中,减少读取数据的时间
        • 工具:Redis, Memcached
      • 数据库优化
        • 优化数据库查询,提高数据检索速度。
        • 方法:创建索引、优化查询、使用存储过程
      • 内容分发网络
        • 将静态内容缓存到全球各地的节点上,减少网络延迟
        • 服务商:Cloudflare, Akamai
  • 并发性(Concurrency):系统同时处理多个请求的能力
    • 实现技术
      • 多线程和多进程
        • 通过多线程和多进程实现并发处理
        • 语言特性:Java 的多线程,Python 的多进程(multiprocessing)
      • 异步编程
        • 通过异步 I/O 操作实现高并发处理
        • 框架:Node.js, asyncio(Python)
      • 线程池
        • 使用线程池管理并发任务,避免频繁创建和销毁线程的开销
        • 工具:Java ExecutorService, Python concurrent.futures
    • 案例
      • Node.js:基于事件驱动的非阻塞 I/O 模型,支持高并发处理,广泛应用于高性能服务器开发。
      • Nginx:一个高性能的 Web 服务器,通过异步事件驱动架构,实现了高并发处理能力