91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

swoole中單線程模式和進程模式的優缺點是什么

發布時間:2020-12-19 10:17:12 來源:億速云 閱讀:321 作者:小新 欄目:編程語言

這篇文章主要介紹swoole中單線程模式和進程模式的優缺點是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

單線程模式(SWOOLE_BASE)

這種模式就是傳統的異步非阻塞Server。與Nginx和Node.js等程序是完全一致的。              

在時間循環中直接回調PHP的函數,而不是dispatch投遞任務。如果回調函數中有阻塞操作會導致Server退化為同步模式。worker_num參數對與BASE模式仍然有效,會啟動多個Worker進程。

BASE模式下沒有Master進程的角色

每個Worker進程同時承擔了Process模式下Reactor線程和Worker進程兩部分職責

BASE模式下Manager進程是可選的,當設置了worker_num=1,并且沒有使用Task和MaxRequest特性時,底層將直接創建一個單獨的Worker進程,不創建Manager進程

BASE模式的優點:

BASE模式沒有IPC開銷,性能更好

BASE模式代碼更簡單,不容易出錯

BASE模式的缺點:

TCP連接是在Worker進程中維持的,所以當某個Worker進程掛掉時,此Worker內的所有連接都將被關閉

少量TCP長連接無法利用到所有Worker進程

TCP連接與Worker是綁定的,長連接應用中某些連接的數據量大,這些連接所在的Worker進程負載會非常高。但某些連接數據量小,所以在Worker進程的負載會非常低,不同的Worker進程無法實現均衡。

BASE模式的適用場景:

如果客戶端連接之間不需要交互,可以使用BASE模式。如Memcache、Http服務器等。

進程模式(SWOOLE_PROCESS)

多進程模式是最復雜的方式,用了大量的進程間通信、進程管理機制。適合業務邏輯非常復雜的場景。Swoole提供了完善的進程管理、內存保護機制。 在業務邏輯非常復雜的情況下,也可以長期穩定運行。

Swoole在Reactor線程中提供了Buffer的功能,可以應對大量慢速連接和逐字節的惡意客戶端。另外也提供了CPU親和設置選項,使程序運行的效率更好。

進程模式的優點:

連接與數據請求發送是分離的,不會因為某些連接數據量大某些連接數據量小導致Worker進程不均衡

Worker進程發送致命錯誤時,連接并不會被切斷

可實現單連接并發,僅保持少量TCP連接,請求可以并發地在多個Worker進程中處理

進程模式的缺點:

存在2次IPC的開銷,master進程與worker進程需要使用UnixSocket進行通信

不支持某些高級功能,如sendwait、pause、resume等操作

以上是“swoole中單線程模式和進程模式的優缺點是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

翁源县| 大化| 客服| 三门峡市| 安乡县| 东明县| 常熟市| 沿河| 尼玛县| 嘉祥县| 彩票| 陆川县| 普兰店市| 武定县| 黑山县| 西安市| 莱阳市| 高唐县| 渑池县| 镇雄县| 永昌县| 博兴县| 镇平县| 惠州市| 修武县| 赤壁市| 镇赉县| 满洲里市| 睢宁县| 峡江县| 偏关县| 温泉县| 眉山市| 长乐市| 焉耆| 宜川县| 平顶山市| 厦门市| 东兰县| 康乐县| 宿迁市|