理解swoole进程模式
1.守护进程的开启 config/swoole.php daemonize false守护进程(是否后台运行)关闭 true 开启 2.进程处理
coroutine enable 设置成false (关闭协程) 开启了1个进程关闭了协程 测试结果 同时请求2次,会发现第一个处理完成后才处理第二个请求,不是同时处理两个 进程号 - 1003 start时间:1585402323—end时间:1585402328—耗时:5 进程号 - 1003 start时间:1585402328—end时间:1585402333—耗时:5 两个都是同时请求的,第一个请求完成后才处理第二个请求,所以第二个尾数是328开始,(理解为队列) 测试2 在关闭协程的同时开启2个进程 worker_num => 2 测试结果 同时请求3次 前两次请求是同时完成,而第3次请求是等前面两个进程其中的一个完成后处理的(谁先完成的谁去处理) 在linux中可查看
1.开启了2个进程 2.开启一个进程 启动php think swoole后 程序会开启(拿图例2讲) 18219 为master 主进程(pstree 中对应的18513 因为重启了think-swoole 进程号变更了) 18220 为manager管理进程 (pstree 中对应的18514) 18223 task 进程(先不用管,在后面会介绍)(pstree 中对应的18516) 18224 worker 工作进程 (可对个如图例1中就可开启多个)(pstree 中对应的18517) 18225 开启swoole进程 (pstree 中对应的18518) pstree -p 进程号 (查看进程结构)
这里可以查看到 mater 主进程下是 manager管理进程 之后manager下面是工作进程18517 (暂时不管18515 – 18516 ) 18518 是启动进程 18515是帮助管理进程分配任务的一个线程