🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 以下为进程,线程的设置方法: ``` set(array $setting); // 用于设置运行时的各项参数,服务器启动后通过$serv->setting来访问Server->set方法设置的参数数组。 ``` # 最大连接 ``` max_conn=>10000, //此参数用来设置Server最大允许维持多少个tcp连接,超过此数量后,新进入的连接将被拒绝。 ``` ## 最小值为(sert->worker_num+SwooleG.task_worker_num)*2+32 ``` max_connection //最大不得超过操作系统ulimit -n的值,否则会报一条警告信息,并重置为ulimit-n的值 ulimit -HSn 65535 ``` ``` max_request=>2000 //此参数表示worker进程在处理完n次请求后结束运行。manager会重新创建一个worker进程。此选项用来防止worker进程内存溢出。 ``` ``` reacor_num=>2 // 通过此参数来调节Reactor线程的数量进行内存溢出。 ``` # reactor线程数 ``` reactor_num=>2 //通过此参数来调节Teactor线程数量,以充分利用多核 ``` # worker进程数 ``` worker_num =>4 //设置启动的Worker进程数量。 ``` ``` task_worker_num=>6 //配置Task进程数量,配置此参数后将会启动Task功能,所以Server务必要注册onTask onFinish 2个事件回调函数,如果没有注册,服务器程序将无法启动 ``` # 代码案例: ~~~ <?php // 实例化一个tcp出来 $server =new Swoole\Server('0.0.0.0',8887,SWOOLE_PROCESS,SWOOLE_SOCK_TCP); $setting=[ 'worker_num'=>4 , // worker进程数 'reactor_num'=>3, //reactor线程数 'task_worker_num'=>2, ]; $server->set($setting); //回调函数必须设置 $server->on('receive',function (){}); //task 进程必须设置接受函数 $server->on('Task',function(){}); //task 进程必须设置接受函数 $server->on('Finish',function(){}); $server->start(); ~~~ # 守护进程化 ``` daemonize => 1 //加入此参数后,执行php server.php将转入后台作为守护进程运行 ```