真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

swoole中單線程模式和進程模式的優(yōu)缺點是什么

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

成都創(chuàng)新互聯(lián)公司專業(yè)網(wǎng)站建設,網(wǎng)站制作與網(wǎng)站建設公司,1800元做網(wǎng)站建設全包,免費贈送網(wǎng)站基礎優(yōu)化服務,讓你的網(wǎng)站變得更有價值,公司擁有完善的專業(yè)網(wǎng)站設計公司流程,能夠為企業(yè)提供建站服務。使用PHP+MYSQL開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);網(wǎng)站制作收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設一條龍服務.

單線程模式(SWOOLE_BASE)

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

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

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

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

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

BASE模式的優(yōu)點:

BASE模式?jīng)]有IPC開銷,性能更好

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

BASE模式的缺點:

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

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

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

BASE模式的適用場景:

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

進程模式(SWOOLE_PROCESS)

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

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

進程模式的優(yōu)點:

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

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

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

進程模式的缺點:

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

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

以上是“swoole中單線程模式和進程模式的優(yōu)缺點是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站題目:swoole中單線程模式和進程模式的優(yōu)缺點是什么
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/jcjesj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部