# 以下為進程,線程的設置方法:
```
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將轉入后臺作為守護進程運行
```