性能优化

  1. 当前系统结构的瓶颈
    1. 观察指标、压力测试
  2. 了解业务模式
    1. 接口业务类型、系统层次化结构
  3. 性能和安全

压测工具

ab

  1. 安装

    yum install -y httpd-tools

  2. 使用

    ab -n <总的请求数> -c <并发数> -k<设置即开启长连接>

文件句柄

  • linux 配置 /etc/security/limits.conf
    • 系统全局性修改
    • 用户局部性修改
  • nginx 配置文件方式
    • 进程局部性修改
    • worker_rlimit_nofile <number> 指定 worker process 可以打开的最大文件句柄数

cpu 优化

思路

  1. 尽可能的占用全部的 cpu 资源
  2. 尽可能的占用更大的 cpu 时间片,减少进程间切换

策略

  1. 指定 worker 子进程个数
    1. worker_processes auto;
  2. 将 worker 子进程和每个 cpu 绑定
    1. worker_cpu_affinity xx;
    2. 可以使用 auto 自动绑定
  3. 提高 worker 子进程的进程优先级
    1. worker_priority -20;
  4. 延迟处理新连接,因为创建连接可能还没有发送 http request
    1. listen <port> deferred;

日志优化

  • 健康检查等接口可以使用 access_log off; 进行局部关闭