<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # max_request 設置worker進程的最大任務數,默認為0,一個worker進程在處理完超過此數值的任務后將自動退出,進程退出后會釋放所有內存和資源。 這個參數的主要作用是**解決PHP進程內存溢出問題**。PHP應用程序有緩慢的內存泄漏,但無法定位到具體原因、無法解決,可以通過設置`max_request`解決。 * `max_request`**只能用于同步阻塞、無狀態的請求響應式服務器程序** * 在swoole中真正維持客戶端TCP連接的是master進程,worker進程僅處理客戶端發送來的請求,因為客戶端是不需要感知Worker進程重啟的 * 純異步的Server不應當設置`max_request` * 使用Base模式時`max_request`是無效的 > 當worker進程內發生致命錯誤或者人工執行`exit`時,進程會自動退出。master進程會重新啟動一個新的worker進程來繼續處理請求 實例代碼 ---- 創建一個swoole tcp server,我們開啟兩個worker進程,dispatch mode設置為3(搶占模式),文件名保存為server.php,代碼如下: ```php <?php $serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'worker_num' => 2, //開啟兩個worker進程 'max_request' => 3, //每個worker進程max request設置為3次 'dispatch_mode'=>3, )); //監聽數據接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: ".$data); }); //啟動服務器 $serv->start(); ``` 使用php server.php開啟服務后,首先使用 ps aux | grep server.php 看下一下進程PID,一共有四個進程,如圖所示: ![](http://www.swoole.com/static/uploads//wiki/201703/25/263880552319.png) 其中8430和8431分別是master進程和manager進程,剩下兩個8434和8435則是兩個worker進程。 按照預想,如果我們執行5次請求,那么必然會有一個worker進程會退出并被重新拉起一個新的,結果如下圖所示: ![](http://www.swoole.com/static/uploads//wiki/201703/25/266250944309.png) 注意pid為8434的worker進程已經沒有了,新出現的則是pid為8457的worker進程
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看