Nginx优化性能配置项

优化性能的配置项

worker进程数

语法: worker_processes number;
默认: worker_processes 1;

一般配置为与主机的CPU核数相等。并且使用下面的worker_cpu_affinity配置来绑定CPU内核

worker进程绑定到指定CPU核心

语法: worker_cpu_affinity cpumask [cpumask...]

因为Linux内核都是抢占式的。当worker进程都比较繁忙时,会抢占同一个cpu,会造成同步问题。

例如:主机有两颗CPU,配置如下

worker_processes 2;
worker_cpu_affinity 10 01;

SSL硬件加速

语法: ssl_engine device;

如果服务器上有SSL硬件加速设备, 那么就可以进行配置以加快SSL协议的处理速度。
可以使用OpenSSL提供的命令来查看是否有SSL硬件加速设备:

[root@test ~]# openssl engine -t

系统调用gettimeofday的执行频率

语法: timer_resolution t;

一般不配置,除非是想要日志文件中打印的时间非常精确才配置

Nginx worker进程优先级设置

语法: worker_priority nice;
默认: worker_priority 0;

用于设置worker进程的nice值提高优先级。

Linux系统按照所有进程的优先级来决定哪个进程先执行。进程所分配的CPU时间片大小也与进程的优先级有关,优先级越高,进程分配到的时间片越大。优先级高的进程占用更多的系统资源。

Linux系统有两种优先级:

  静态优先级:Nice值是进程的静态优先级,取值范围是-20 ~ 19,-20是最高优先级,19是最低优先级,内核进程的nice值通常为-5。其他程序的优先级不应该比-5还小

  动态优先级:内核根据进程的执行情况做出的动态调整

原文地址:https://www.cnblogs.com/zh-dream/p/12909327.html