亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) php框架 Workerman WorkerMan的特性介紹

WorkerMan的特性介紹

Feb 04, 2020 pm 05:58 PM
workerman

Workerman是一款開源高性能異步PHP socket即時(shí)通訊框架。本文就來(lái)為大家介紹一些Workerman的特性,希望都大家有一定的幫助。

WorkerMan的特性介紹

相關(guān)推薦:《workerman教程

WorkerMan的特性介紹:

1、純PHP開發(fā)

使用WorkerMan開發(fā)的應(yīng)用程序不依賴php-fpm、apache、nginx這些容器就可以獨(dú)立運(yùn)行。 這使得PHP開發(fā)者開發(fā)、部署、調(diào)試應(yīng)用程序非常方便。

2、支持PHP多進(jìn)程

為了充分發(fā)揮服務(wù)器多CPU的性能,WorkerMan默認(rèn)支持多進(jìn)程多任務(wù)。WorkerMan開啟一個(gè)主進(jìn)程和多個(gè)子進(jìn)程對(duì)外提供服務(wù), 主進(jìn)程負(fù)責(zé)監(jiān)控子進(jìn)程,子進(jìn)程獨(dú)自監(jiān)聽網(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),甚至可以開啟多個(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)加載

在開發(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)證、斷開連接時(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通信的開銷,最主要的是資源可以永久保持,不必每次初始化數(shù)據(jù)庫(kù)連接等等, 所以使用WorkerMan開發(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%左右

參考文檔

http://doc.workerman.net/principle.html

原文鏈接:https://blog.csdn.net/u012164509/article/details/90749646

更多workerman知識(shí)請(qǐng)關(guān)注PHP中文網(wǎng)workerman框架教程欄目。

以上是WorkerMan的特性介紹的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
實(shí)現(xiàn)Workerman文檔中的文件上傳與下載 實(shí)現(xiàn)Workerman文檔中的文件上傳與下載 Nov 08, 2023 pm 06:02 PM

實(shí)現(xiàn)Workerman文檔中的文件上傳與下載,需要具體代碼示例引言:Workerman是一款高性能的PHP異步網(wǎng)絡(luò)通訊框架,具備簡(jiǎn)潔、高效、易用等特點(diǎn)。在實(shí)際開發(fā)中,文件上傳和下載是常見(jiàn)的功能需求,本文將介紹如何使用Workerman框架實(shí)現(xiàn)文件的上傳和下載,并給出具體的代碼示例。一、文件上傳:文件上傳是指將本地計(jì)算機(jī)上的文件傳輸至服務(wù)器端的操作。下面是使用

swoole和workerman哪個(gè)好 swoole和workerman哪個(gè)好 Apr 09, 2024 pm 07:00 PM

Swoole 和 Workerman 都是高性能 PHP 服務(wù)器框架。Swoole 以其異步處理、出色的性能和可擴(kuò)展性而聞名,適用于需要處理大量并發(fā)請(qǐng)求和高吞吐量的項(xiàng)目。Workerman 提供了異步和同步模式的靈活性,具有直觀的 API,更適合易用性和處理較低并發(fā)量的項(xiàng)目。

如何實(shí)現(xiàn)Workerman文檔的基本使用方法 如何實(shí)現(xiàn)Workerman文檔的基本使用方法 Nov 08, 2023 am 11:46 AM

如何實(shí)現(xiàn)Workerman文檔的基本使用方法簡(jiǎn)介:Workerman是一個(gè)高性能的PHP開發(fā)框架,它可以幫助開發(fā)者輕松構(gòu)建高并發(fā)的網(wǎng)絡(luò)應(yīng)用程序。本文將介紹Workerman的基本使用方法,包括安裝和配置、創(chuàng)建服務(wù)和監(jiān)聽端口、處理客戶端請(qǐng)求等。并給出相應(yīng)的代碼示例。一、安裝和配置Workerman在命令行中輸入以下命令來(lái)安裝Workerman:c

如何實(shí)現(xiàn)Workerman文檔中的定時(shí)器功能 如何實(shí)現(xiàn)Workerman文檔中的定時(shí)器功能 Nov 08, 2023 pm 05:06 PM

如何實(shí)現(xiàn)Workerman文檔中的定時(shí)器功能Workerman是一款強(qiáng)大的PHP異步網(wǎng)絡(luò)通信框架,它提供了豐富的功能,其中就包括定時(shí)器功能。使用定時(shí)器可以在指定的時(shí)間間隔內(nèi)執(zhí)行代碼,非常適合定時(shí)任務(wù)、輪詢等應(yīng)用場(chǎng)景。接下來(lái),我將詳細(xì)介紹如何在Workerman中實(shí)現(xiàn)定時(shí)器功能,并提供具體的代碼示例。第一步:安裝Workerman首先,我們需要安裝Worker

Workerman開發(fā):如何實(shí)現(xiàn)基于UDP協(xié)議的實(shí)時(shí)視頻通話 Workerman開發(fā):如何實(shí)現(xiàn)基于UDP協(xié)議的實(shí)時(shí)視頻通話 Nov 08, 2023 am 08:03 AM

Workerman開發(fā):基于UDP協(xié)議的實(shí)時(shí)視頻通話摘要:本文將介紹如何使用Workerman框架實(shí)現(xiàn)基于UDP協(xié)議的實(shí)時(shí)視頻通話功能。我們將深入了解UDP協(xié)議的特點(diǎn),并通過(guò)代碼示例展示如何搭建一個(gè)簡(jiǎn)單但完整的實(shí)時(shí)視頻通話應(yīng)用。引言:在網(wǎng)絡(luò)通信中,實(shí)時(shí)視頻通話是一項(xiàng)非常重要的功能。傳統(tǒng)的TCP協(xié)議在實(shí)現(xiàn)實(shí)時(shí)性較高的視頻通話時(shí),可能會(huì)有傳輸延遲等問(wèn)題。而UDP

如何實(shí)現(xiàn)Workerman文檔中的反向代理功能 如何實(shí)現(xiàn)Workerman文檔中的反向代理功能 Nov 08, 2023 pm 03:46 PM

如何實(shí)現(xiàn)Workerman文檔中的反向代理功能,需要具體代碼示例簡(jiǎn)介:Workerman是一款高性能的PHP多進(jìn)程網(wǎng)絡(luò)通信框架,提供了豐富的功能和強(qiáng)大的性能,廣泛應(yīng)用于Web實(shí)時(shí)通訊、長(zhǎng)連接服務(wù)等場(chǎng)景。其中,Workerman還支持反向代理功能,可以實(shí)現(xiàn)服務(wù)器對(duì)外提供服務(wù)時(shí)的負(fù)載均衡和靜態(tài)資源緩存等功能。本篇文章將介紹如何使用Workerman實(shí)現(xiàn)反向代理功

如何使用Workerman搭建高可用性負(fù)載均衡系統(tǒng) 如何使用Workerman搭建高可用性負(fù)載均衡系統(tǒng) Nov 07, 2023 pm 01:16 PM

如何使用Workerman搭建高可用性負(fù)載均衡系統(tǒng),需要具體代碼示例在現(xiàn)代技術(shù)領(lǐng)域中,隨著互聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的網(wǎng)站和應(yīng)用程序需要處理大量的并發(fā)請(qǐng)求。為了實(shí)現(xiàn)高可用性和高性能,負(fù)載均衡系統(tǒng)成為了必不可少的組件之一。本文將介紹如何使用PHP開源框架Workerman搭建一個(gè)高可用性的負(fù)載均衡系統(tǒng),并提供具體的代碼示例。一、Workerman簡(jiǎn)介Worke

實(shí)現(xiàn)Workerman文檔中的文件傳輸功能 實(shí)現(xiàn)Workerman文檔中的文件傳輸功能 Nov 08, 2023 pm 03:39 PM

Workerman是一款基于PHP開發(fā)的高性能異步事件驅(qū)動(dòng)框架,它可以輕松實(shí)現(xiàn)TCP/UDP協(xié)議下的長(zhǎng)連接開發(fā)。除此之外,Workerman還提供了實(shí)現(xiàn)文件傳輸?shù)墓δ埽梢杂糜诖笪募鬏?、?shù)據(jù)備份等場(chǎng)景。本文將介紹如何在Workerman中實(shí)現(xiàn)文件傳輸功能,并提供具體的代碼示例。一、文件上傳功能實(shí)現(xiàn)文件上傳功能需要客戶端將要上傳的文件發(fā)送給服務(wù)端,服務(wù)端驗(yàn)證

See all articles