Think-Swoole教程之设置、事情历程、携程魅力以及明白 Swoole 历程形式_PHP开发框架教程
2020-09-19php框架搜奇网122°c
A+ A-Think-Swoole 设置、事情历程、携程魅力以及明白 Swoole 历程形式
设置文件:
app/config/swoole.php
'server' => [ 'host' => env('SWOOLE_HOST', '0.0.0.0'), // 监听地点 'port' => env('SWOOLE_PORT', 9501), // 监听端口 'mode' => SWOOLE_PROCESS, // 运转形式 默以为SWOOLE_PROCESS 'sock_type' => SWOOLE_SOCK_TCP, // sock type 默以为SWOOLE_SOCK_TCP 'options' => [ // 都是给 Swoole 效劳的设置,能够依据 Swoole 手册分外增添别的的 Swoole 设置 'pid_file' => runtime_path() . 'swoole.pid', //效劳启动今后历程 ID 寄存文件 'log_file' => runtime_path() . 'swoole.log', //Swoole 的日记文件 'daemonize' => false, //保卫历程形式设置,true 背景运转 // Normally this value should be 1~4 times larger according to your cpu cores. 'reactor_num' => swoole_cpu_num(), //背景启动的 Reactor 线程数 'worker_num' => swoole_cpu_num(), //设置启动的 Worker 历程数 'task_worker_num' => swoole_cpu_num(), //设置 Task 历程数 'enable_static_handler' => true, //开启静态文件要求处置惩罚功用,需合营 document_root 'document_root' => root_path('public'), //设置静态文件根目录 'package_max_length' => 20 * 1024 * 1024, //设置最大数据包尺寸,单元为字节 'buffer_output_size' => 10 * 1024 * 1024, //设置发送输出缓存区内存尺寸 'socket_buffer_size' => 128 * 1024 * 1024, //用于设置客户端衔接最大许可占用内存数目 ], ],
事情历程:
'worker_num' => swoole_cpu_num(),
这个设置是设置事情历程的, swoole_cpu_num() 是猎取本机CPU核数,假如将它手动设置为 1,那末同一时间有两个要求须要处置惩罚,一次只能处置惩罚一个,另一个处于期待状况,第一个处置惩罚完后会紧接着处置惩罚第二个,但他们照样属于一个历程,两个要求的历程号是一样的。怎样设置为 2,那末同时能够处置惩罚 2 个要求,并且有两个差别的历程号。
协程
在 Swoole 的设置文件中,另有一个选项,是设置协程的:
'coroutine' => [ 'enable' => true, 'flags' => SWOOLE_HOOK_ALL, ],
'enable' => true 代表开启协程。假定如今须要同时处置惩罚 3 个要求(也能够更多),纵然事情历程设置为 1,这三个要求也能够同时举行处置惩罚,然则它们的历程号是一样的,由于事情历程照样一个。这就是 Swoole 协程的魅力。
明白 Swoole 历程形式
设置事情历程数为 1 ,然后经由过程敕令 php think swoole 开启效劳后,新开敕令窗口实行 ps -ef | grep swoole 检察历程状况 ,以下图所示:
当 Swoole 启动时,会起首启动一个 master 主历程,然后会启动一个 manager 治理子历程,这两个历程不会去处置惩罚要求的事情,要求的处置惩罚交给 manager 的子历程 worker。上图中可见,master 主历程的历程号 30665,manager 子历程 30666 的父历程是 30665,task process 和 worker process 的父历程都是 30666。
设置事情历程数为 2 ,重启 Swoole 效劳,再次检察历程状况:
可见,有两个 worker process 历程。
实行pstree -p 31568,可得到以下关联图:
以上就是Think-Swoole教程之设置、事情历程、携程魅力以及明白 Swoole 历程形式的细致内容,更多请关注ki4网别的相干文章!