性能优化
- 当前系统结构的瓶颈
- 观察指标、压力测试
- 了解业务模式
- 接口业务类型、系统层次化结构
- 性能和安全
压测工具
ab
安装
yum install -y httpd-tools
使用
ab -n <总的请求数> -c <并发数> -k<设置即开启长连接>
文件句柄
- linux 配置
/etc/security/limits.conf
- 系统全局性修改
- 用户局部性修改
- nginx 配置文件方式
- 进程局部性修改
worker_rlimit_nofile <number>
指定 worker process 可以打开的最大文件句柄数
cpu 优化
思路
- 尽可能的占用全部的 cpu 资源
- 尽可能的占用更大的 cpu 时间片,减少进程间切换
策略
- 指定 worker 子进程个数
worker_processes auto;
- 将 worker 子进程和每个 cpu 绑定
worker_cpu_affinity xx;
- 可以使用
auto
自动绑定
- 提高 worker 子进程的进程优先级
worker_priority -20;
- 延迟处理新连接,因为创建连接可能还没有发送 http request
listen <port> deferred;
日志优化
- 健康检查等接口可以使用
access_log off;
进行局部关闭