系统性能优化-1 性能优化路径

系统性能优化-1 性能优化路径

内容来自陶辉老师专栏:系统性能调优必知必会

性能优化可以从很多方面入手,而每一方面又有多种可能的思路

  • 基础设施优化
    • 硬件效率
      • CPU
        • 数据缓存优化
        • 指令缓存优化
        • numa 架构
      • 内存池
        • C 库内存池
        • 应用内存池
        • 栈与堆
      • 磁盘IO
        • 高速磁盘缓存
        • 零拷贝
        • 异步 IO
        • 直接 IO
    • 算法效率
      • 算法复杂度
      • 容器
        • CRUD 时间复杂度
        • 数据序列化
        • 动态扩容
    • 并发与同步
      • 并发模型
        • 多进程
        • 多线程
        • 协程
        • 等待模式
          • 自旋锁
          • 互斥锁
        • 读写锁
        • 乐观锁
  • 系统层网络优化
    • 提升吞吐量
      • UDP 网络层多播
      • 提升并发连接数
        • 事件驱动
        • 多路复用
        • 降低连接切换成本
    • 降低时延
      • TCP 握手优化
        • 重试次数
        • 超时时间
        • 复用策略
        • 调整缓冲队列
      • 套接字缓冲区优化
        • 滑动窗口
        • 读写缓冲区
        • 系统调整策略
      • 拥塞控制
        • 初始拥塞窗口调整
        • 基于测量的拥塞算法
  • 应用层编解码优化
    • TLS 会话编码优化
      • 加速对称加密
        • 基于 CPU 指令集
        • 分组模式优化
      • 加速秘钥协商
        • TLS1.3
    • 静态编码
      • 无损压缩
        • HPACK
        • Huffman 编码
        • 基于内容格式
      • 有损压缩
        • 图片压缩
    • 增量编码
      • HTTP/2 动态表
      • 音、视频编码
    • 交互方式
      • RPC
      • 服务器推送
      • 多路复用
  • 分布式系统优化
    • 优化原则
      • ACP
      • NWR
      • AKF
    • 降低请求时延
      • 缩短路径
        • 缓存
        • 异步
      • 分解任务
        • 离线
        • 实时
    • 提升吞吐量
      • 应用层多播
      • 负载均衡
      • 一致性哈希
      • NoSQL