hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - php框架 - 正文 君子好学,自强不息!

Think-Swoole教程之设置、事情历程、携程魅力以及明白 Swoole 历程形式_PHP开发框架教程

2020-09-19php框架搜奇网51°c
A+ A-
下面由 thinkphp教程栏目给人人引见Think-Swoole教程之设置、事情历程、携程魅力以及明白 Swoole 历程形式,愿望对须要的朋侪有所协助!

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网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
Think-Swoole教程之设置、事情历程、携程魅力以及明白 Swoole 历程形式_PHP开发框架教程

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

本文来源:搜奇网

本文地址:https://www.sou7.cn/300808.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。