Swoole提供了完善的進程管理機制,當Worker進程異常退出,如發生PHP的致命錯誤、被其他程式誤殺,或達到max_request次數之後正常退出。 (建議學習: swoole視訊教學)
主程式會重新拉起新的Worker流程。 Worker進程內可以像普通的apache php或php-fpm寫程式碼。不需要像Node.js那樣寫非同步回呼的程式碼。
Worker程序
接受Reactor執行緒投遞的請求資料包,並執行PHP回呼函數處理資料
產生回應資料並發給Reactor執行緒,由Reactor執行緒傳送給TCP客戶端
可以是非同步非阻塞模式,也可以是同步阻塞模式
Worker以多進程的方式執行
#worker_num
說明:指定啟動的worker進程數。
說明:swoole是master-> n * worker的模式,開啟的worker行程數越多,server負載能力越大,但對應的server所擁有的記憶體也會更多。同時,當worker進程數過多時,進程間切換帶來的系統開銷也會更大。因此建議開啟的worker進程數為cpu核數的1-4倍。
範例:
'worker_num' => 8
以上是swoole的worker怎麼調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!