站长资讯网
最全最丰富的资讯网站

Think-Swoole教程之配置、工作进程、携程魅力以及理解 Swoole 进程模式

下面由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 个请求(也可以

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号