Nginx Tips Q&A
Q:为什么Nginx采用多进程的模式而非多线程的模式
A:因为Nginx要保证其高可用性,如果采用多线程结构,因为线程之间是共享同一个地址空间的。所以如果一个第三方模块因为一个错误导致地址空间的错误,会导致整个Nginx线程全部挂掉。
所以在Mster进程中,是不是添加第三方模块的代码的,Master主要是管理和监控Worker进程的,看看是不是需要重新载入配置文件,Worker进程是实际处理请求的。
Q:为什么Woker进程会有很多
A:因为Nginx是采用事件驱动的模型,它希望worker从头到尾占有一颗CPU,所以我们最好将worker的数目配置成与cpu核数相等,最好是与CPU进行绑定,这样才能更好的使用到每个CPU上的 cpu 缓存。

浙公网安备 33010602011771号