查看nginx进程_nginx的进程模型与配置
nginx的进程模型可以理解为:多进程+多路复用。
nginx的进程模型
使用linux的ps命令查看当前nginx的进程(ps -ef | grep nginx),可以看到有两个进程,分别是nginx:master和nginx:worker。
两个进程之间的关系可以用如下图来表示:
nginx这样处理的优点有:
- 当nginx启动后,产生一个master进程,当master执行一系列操作后会产生一个或多个worker进程。
- 当有请求进来时,master会向worker发信号,然后通过worker进程去处理请求,一个请求对应一个worker。
- master会监控worker的状态。当worker产生异常时,会启动一个新的woker。
- 多个worker之间是一种竞争关系。每个worker进程可以产生多路复用。
- nginx的每个进程都是独立的,相互之间是安全的。一个worker 宕机了,其它work还是继续工作,相互没有影响。
当我们将配置文件中work_processes由1改成2后,重启nginx会发现多了一个work_processes,理论上单机nginx支持的并发数为(work_processes * work_connections)。
worker_processes配置
上面已经介绍了work_processes的配置,但是这个数并不是越大越好,建议配置为1,最大也不要超过8。比你当前CPU核数小就可以了。官方原文建议是:
Nginx unlike Apache and other process per connection webservers. It uses one master process to start and monitor a small number of worker processesthat actually handle the connections. My recommendation is to start with the default number of workers, which is 1.
worker_cpu_affinity配置
这个参数默认是不开启的。所以我们如果要配置,建议首先查看CPU核数(与上面一致)。它是由0和1这样的二进制参数 组成。
以2核CPU开启2进程为例,"01"代表使用第一个CPU内核,“10”代表使用第二个CPU内核。组数代表进程数。
配置示例如下所示:
测试
配置完成后重启nginx,使用ab命令测试,然后使用top命令查看CPU使用情况。
# /usr/local/nginx-1.16.1/sbin/nginx -s reload
# ab -n 30000 -k http://localhost/index.html
# top
查看nginx进程_nginx的进程模型与配置相关推荐
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- Shell脚本和Python查看Nginx并发连接数、进程数和常驻内存占用情况
Shell脚本查看Nginx并发连接数.进程数和常驻内存占用情况 http://xiaoyongxing1.blog.163.com/blog/static/642807522015144302240 ...
- php-fpm进程的用户组,PHP中的“进程”系列1——PHP-FPM模型
PHP中的"进程"系列 这个系列会分几个部分,从PHP-FPM进程模式起,到Linux进程,最后回到PHP本身谈一谈如何设计一个PHP的进程池.整个系列会氛围大致5个主要部分,分别 ...
- php-fpm 进程通讯,PHP-FPM进程模型解析
本文将介绍以下内容: PHP-FPM进程管理方式介绍 PHP-FPM如何与Nginx等Web服务器进行通信 先说一下PHP-FPM的进程模型,PHP-FPM采用的是Master/Worker进程模型. ...
- linux centos7杀进程,centos7 nginx 启动/进程状态/杀掉进程
查看nginx netstat -antp | grep :80(查看80端口被哪个服务占用) or netstat -antpuel | grep ":22" | grep -v ...
- 进程锁、事件、进程队列、进程间共享数据、生产者消费者模型
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 进程锁(Lock) 锁的基本概念 锁的基本用法 模拟12306抢票软件 信号量:Semaphone 概念 Semaphore ...
- Chrome源码剖析、上--多线程模型、进程通信、进程模型
Chrome源码剖析.上 原著:duguguiyu. 整理:July. 时间:二零一一年四月二日. 出处:http://blog.csdn.net/v_JULY_v. 说明:此Chrome源码剖析很大 ...
- 【chrome】Chrome源码剖析、上--多线程模型、进程通信、进程模型
Chrome源码剖析.上 原著:duguguiyu. 整理:July. 时间:二零一一年四月二日. 出处:http://blog.csdn.net/v_JULY_v. 说明:此Chrome源码剖析很 ...
- Chrome源码剖析——多线程模型、进程通信、进程模型
说明:本文内容由 v_JULY_v 根据 duguguiyu 的博客整理而成. 前言 1. 之所以整理此文,有两个目的:一是为了供自己学习研究之用:二是为了备份,以作日后反复研究.除此之外,无它. ...
最新文章
- Observables简介以及它们与Promise有何不同
- 行业软件和鸿蒙,华为鸿蒙负责人王成录:育人才,打造国产软件“根”能力
- pip安装包时遇到的Bug
- 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型
- Django中models利用ORM对Mysql 进行查表的语句(多个语句)
- 我今天对JavaFX的了解
- php如何统计数组的个数,如何用php统计数组元素的个数(附代码)
- Copy Clone
- Vue-在data中引入静态图片路径
- 报表软件JS开发引用HTML DOM的windows对象
- 编译原理语义分析代码_Pix2Pix原理分析与代码解读
- linux crontab每小时运行一次
- Ubuntu系统安装及常用软件设置
- AI对于人类来说到底是福还是祸?
- 2020系统规划与管理师考试通过率探秘
- AuNP@SiO2二氧化硅包裹的金纳米粒子|AuNP@Al2O3氧化铝包覆核壳结构金纳米颗粒|齐岳生物
- html年会抽奖代码实例,基于JavaScript实现简单抽奖功能代码实例
- 丈量你的代码,从cloc开始
- 电子版标书怎么做?有哪些特点?
- 模拟根据后端返回列表数据,先包装成树结构,包装路由数据格式。
热门文章
- Windows监听进程是否退出C++
- Python--面向对象学习继承(11.17)
- Kickstart文件的编写
- Sysdig and Falco now powered by eBPF
- VPP 安装配置工具vpp-config
- 理解Mysql prepare预处理语句:mysql_stmt_init(MYSQL *mysql);
- 概率论笔记:随机数、概率分布(正态分布)、中心极限定理(大数定理)
- python多线程实现方法_Python3 多线程的两种实现方式
- 单片机modbus rtu通讯_【原创】永宏PLC系列RS485通讯方式
- 计算机表格中如何计算数据透视表,在数据透视表中计算值