這篇文章主要介紹了WorkerMan的特性有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
阿圖什ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
WorkerMan的特性介紹:
1、純PHP開(kāi)發(fā)
使用WorkerMan開(kāi)發(fā)的應(yīng)用程序不依賴php-fpm、apache、nginx這些容器就可以獨(dú)立運(yùn)行。 這使得PHP開(kāi)發(fā)者開(kāi)發(fā)、部署、調(diào)試應(yīng)用程序非常方便。
2、支持PHP多進(jìn)程
為了充分發(fā)揮服務(wù)器多CPU的性能,WorkerMan默認(rèn)支持多進(jìn)程多任務(wù)。WorkerMan開(kāi)啟一個(gè)主進(jìn)程和多個(gè)子進(jìn)程對(duì)外提供服務(wù), 主進(jìn)程負(fù)責(zé)監(jiān)控子進(jìn)程,子進(jìn)程獨(dú)自監(jiān)聽(tīng)網(wǎng)絡(luò)連接并接收發(fā)送及處理數(shù)據(jù),由于進(jìn)程模型簡(jiǎn)單,使得WorkerMan更加穩(wěn)定,更加高效。
3、支持TCP、UDP
WorkerMan支持TCP和UDP兩種傳**傳輸協(xié)議**,只需要更改一個(gè)屬性便可以更換傳輸層協(xié)議,業(yè)務(wù)代碼無(wú)需改動(dòng)。
4、支持長(zhǎng)連接
很多時(shí)候需要PHP應(yīng)用程序要與客戶端保持長(zhǎng)連接,比如聊天室、游戲等,但是傳統(tǒng)的PHP容器(apache、nginx、php-fpm)很難做到這一點(diǎn)。
使用WorkerMan,只要服務(wù)端業(yè)務(wù)不主動(dòng)調(diào)用關(guān)閉連接接口,便可以使用PHP長(zhǎng)連接。WorkerMan單個(gè)進(jìn)程可以支持上萬(wàn)的并發(fā)連接,多進(jìn)程則支持?jǐn)?shù)十萬(wàn)的甚至百萬(wàn)并發(fā)連接。
5、支持各種應(yīng)用層協(xié)議
WorkerMan接口上支持各種應(yīng)用層協(xié)議,包括自定義協(xié)議。在WorkerMan中更換協(xié)議同樣非常簡(jiǎn)單,同樣只是配置一個(gè)字段,協(xié)議自動(dòng)切換,業(yè)務(wù)代碼零改動(dòng),甚至可以開(kāi)啟多個(gè)不同協(xié)議的端口,滿足不同的客戶端需求。
6、支持高并發(fā)、
WorkerMan支持Libevent事件輪詢庫(kù)(需要安裝Libevent擴(kuò)展), 使用Libevent在高并發(fā)時(shí)性能非常卓越,如果沒(méi)有安裝Libevent則使用PHP內(nèi)置的Select相關(guān)系統(tǒng)調(diào)用,性能也同樣非常強(qiáng)悍。
7、支持服務(wù)平滑重啟
當(dāng)需要重啟服務(wù)時(shí)(例如發(fā)布版本),我們不希望正在處理用戶請(qǐng)求的進(jìn)程被立刻終止,更不希望重啟的那一刻導(dǎo)致客戶端通訊失敗。
WorkerMan提供了平滑重啟功能,能夠保障服務(wù)平滑升級(jí),不影響客戶端的使用。
8、支持文件更新檢測(cè)及自動(dòng)加載
在開(kāi)發(fā)過(guò)程中,我們希望在我們改動(dòng)代碼后能夠立刻生效,以便查看結(jié)果。WorkerMan提供了FileMonitor文件監(jiān)控組件,只要文件有更新,WorkerMan會(huì)自動(dòng)運(yùn)行reload,以便加載新的文件,使之生效。
9、支持以指定用戶運(yùn)行子進(jìn)程
因?yàn)樽舆M(jìn)程是實(shí)際處理用戶請(qǐng)求的進(jìn)程,為了安全考慮,子進(jìn)程不能有太高的權(quán)限,所以WorkerMan支持設(shè)置子運(yùn)行進(jìn)程運(yùn)行的用戶,使你的服務(wù)器更加安全。
10、支持對(duì)象或者資源永久保持
WorkerMan在運(yùn)行過(guò)程中只會(huì)載入解析一次PHP文件,然后便常駐內(nèi)存,這使得類及函數(shù)聲明、PHP執(zhí)行環(huán)境、符號(hào)表等不會(huì)重復(fù)創(chuàng)建銷毀,這與Web容器下運(yùn)行的PHP機(jī)制是完全不同的。
在WorkerMan中,一個(gè)進(jìn)程生命周期內(nèi)靜態(tài)成員或者全局變量在不主動(dòng)銷毀的情況下是永久保持的,也就是將對(duì)象或者連接等資源放到全局變量或者類靜態(tài)成員中則當(dāng)前進(jìn)程的整個(gè)生命周期內(nèi)的所有請(qǐng)求都可以復(fù)用。
例如只要單個(gè)進(jìn)程內(nèi)初始化一次數(shù)據(jù)庫(kù)連接,則以后這個(gè)進(jìn)程的所有請(qǐng)求都可以復(fù)用這個(gè)數(shù)據(jù)庫(kù)連接,避免了頻繁連接數(shù)據(jù)庫(kù)過(guò)程中TCP三次握手、 數(shù)據(jù)庫(kù)權(quán)限驗(yàn)證、斷開(kāi)連接時(shí)TCP四次握手的過(guò)程,極大的提高了應(yīng)用程序效率。
11、高性能
由于php文件從磁盤讀取解析一次后便會(huì)常駐內(nèi)存,下次使用時(shí)直接使用內(nèi)存中的opcode, 極大的減少了磁盤IO及PHP中請(qǐng)求初始化、創(chuàng)建執(zhí)行環(huán)境、詞法解析、語(yǔ)法解析、編譯opcode、請(qǐng)求關(guān)閉等諸多耗時(shí)過(guò)程, 并且不依賴nginx、apache等容器,少了nginx等容器與PHP通信的開(kāi)銷,最主要的是資源可以永久保持,不必每次初始化數(shù)據(jù)庫(kù)連接等等, 所以使用WorkerMan開(kāi)發(fā)應(yīng)用程序,性能非常高。
12、支持HHVM
支持在HHVM虛擬機(jī)上運(yùn)行,可成倍提升PHP性能。尤其是在cpu密集運(yùn)算業(yè)務(wù)中,性能非常優(yōu)異。通過(guò)實(shí)際壓力測(cè)試對(duì)比,在沒(méi)有負(fù)載業(yè)務(wù)的情況下,WorkerMan在HHVM下運(yùn)行比在Zend PHP5.6運(yùn)行網(wǎng)絡(luò)吞吐量提高了30-80%左右
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“WorkerMan的特性有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
本文標(biāo)題:WorkerMan的特性有哪些
網(wǎng)頁(yè)鏈接:http://www.rwnh.cn/article22/jeecjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、標(biāo)簽優(yōu)化、微信小程序、商城網(wǎng)站、品牌網(wǎng)站制作、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)