master进程和worker进程

master进程为主进程,该进程会创建Manager进程和Reactor线程等工作进/线程

Reactor线程实际运行epoll实例,用于接受客户端的链接和发来的请求
Manager进程是管理进程,该进程是为了创建管理所有的worker进程和TaskWorker进程

worker进程是工作进程,所有的业务逻辑都在该进程中进行,当Reactor线程接收到来自客户端的数据后,会将数据打包通过管道发送给某个Worker进程

Nginx的进程数设定一般等于核数,,高流量并发场合也可以考虑将进程数提高至 CPU 核数 * 2

[[email protected] swool]# grep -c processor /proc/cpuinfo
1                /proc是一个伪文件系统只存在内存中,而不占用存储空间,以文件系统的方式,为访问系统内核数据提供了接口,所以用户和应用程序可以通过proc得到系统的信息,并可以改变内核的参数                                                                           
时间: 2024-08-25 02:20:52

master进程和worker进程的相关文章

关于nginx的master进程可worker进程的概念

nginx的master和worker进程之间的关系,就像是坐台的"***"与"老鸨"之间的关系. 假如说一个妓院有多名***,而管理每个***的老鸨只有一个,其中老鸨负责对外招揽业务,而***负责干活(处理业务),如果一个***接待不完这些客人,老鸨会把随后的客人交给其他的***去接待. 在这里,老鸨就属于master进程,客户端所有的请求都是由master来接收,***呢,就相当于woker进程,(真正处理客户端请求的是下面这些woker进程).

Swoole 理解manager进程和worker进程的启动顺序,以及演示如何停止或者重启服务端。

测试的代码主要功能:开启一个tcp服务器.然后设置了管理进程和工作进程start的回调进行更名.设置了pid_file保存了服务端启动的mast进程. <?php //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'max_request ' => 10, //reactor thread num 'worker_num' =

&lt;spark&gt; error:启动spark后查看进程,进程中master和worker进程冲突

启动hadoop再启动spark后jps,发现master进程和worker进程同时存在,调试了半天配置文件. 测试发现,当我关闭hadoop后 worker进程还是存在, 但是,当我再关闭spark之后再jps,发现worker进程依旧存在 于是想起了在~/spark/conf/slaves 中配置的slave1 slave2 上面还有个localhost,直接删去localhost,然后kill -s 9  worker进程. 初次测试这样解决了error,但是不知道是不是暂时的,如若有问题

nginx源码分析--master和worker进程模型

一.Nginx整体架构 正常执行中的nginx会有多个进程,最基本的有master process(监控进程,也叫做主进程)和woker process(工作进程),还可能有cache相关进程. 一个较为完整的整体框架结构如图所示: 二.核心进程模型 启动nginx的主进程将充当监控进程,而由主进程fork()出来的子进程则充当工作进程. nginx也可以单进程模型执行,在这种进程模型下,主进程就是工作进程,没有监控进程. Nginx的核心进程模型框图如下: master进程 监控进程充当整个进

Nginx学习——进程模型(worker进程)

进程模型 worker进程 master进程模型核心函数ngx_master_process_cycle()中调用了创建子进程函数ngx_start_worker_processes(),该函数源码如下 static void ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type) { ngx_int_t i; ngx_channel_t ch; ngx_log_error(NGX_LOG_NOTIC

nginx worker进程循环

worker进程启动后,其首先会初始化自身运行所需要的环境,然后会进入一个循环,在该循环中不断检查是否有需要执行的事件,然后处理事件.在这个过程中,worker进程也是需要与master进程交互的,更有甚者,worker进程作为一个子进程,也是可以接收命令行指令(比如kill等)以进行相应逻辑的处理的.那么worker进程是如何与master或者命令行指令进行交互的呢?本文首先会对worker进程与master进程交互方式,以及worker进程如何处理命令行指令的流程进行讲解,然后会从源码上对w

大数据技术之_16_Scala学习_11_客户信息管理系统+并发编程模型 Akka+Akka 网络编程-小黄鸡客服案例+Akka 网络编程-Spark Master Worker 进程通讯项目

第十五章 客户信息管理系统15.1 项目的开发流程15.2 项目的需求分析15.3 项目的界面15.4 项目的设计-程序框架图15.5 项目的功能实现15.5.1 完成 Customer 类15.5.2 完成显示主菜单和退出软件功能15.5.3 完成显示客户列表的功能15.5.4 完成添加客户的功能15.5.5 完成删除客户的功能15.5.6 完善退出确认功能15.5.7 完善删除确认功能15.5.8 完成修改客户的功能第十六章 并发编程模型 Akka16.1 Akka 的介绍16.2 Acto

storm配置:如何解决worker进程内存过小的问题

问题导读1.如何设置storm内存?2.如果没有配置文件的情况下,该如何配置一些参数?3.通过哪个参数可以配置内存? Storm中真正干活的是各个worker,而worker由supervisor负责启动.在topology启动过程中我们会看到如下的启动日志: 这就是启动一个worker进程,也就是一个JVM进程.默认情况下,Storm启动worker进程时,JVM的最大内存是768M.但我在使用过程中,由于会在Bolt中加载大量数据,768M内存无法满足需求,会导致内存溢出程序崩溃.经过研究发

Nginx源码分析—worker进程的创建

假设现在ngx_init_cycle已经结束(毕竟这个函数确实庞大),也就是说关于nginx的初始化都已经结束.那么看看如何创建进程模型ngx_master_process_cycle. 在这个函数中,首先情况一些信号,然后将需要关注的信号注册进去(这个时候关于信号的处理函数已经被注册),可以看出来master进程关注的信号有10个.比如SIGCHLD等.接下来调用ngx_start_worker_processes函数,这个函数就是开启worker进程的函数,剩下的master进程就进入一个死