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

溫馨提示×

溫馨提示×

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

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

workerman如何實現高并發

發布時間:2021-01-08 16:25:44 來源:億速云 閱讀:169 作者:小新 欄目:編程語言

這篇文章主要介紹了workerman如何實現高并發,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

并發概念太模糊,這里以兩種可以量化的指標并發連接數和并發請求數來說明。

并發連接數是指服務器當前時刻一共維持了多少TCP連接,而這些連接上是否有數據通訊并不關注。

例如一臺消息推送服務器上可能維持了百萬的設備連接,由于連接上很少有數據通訊,所以這臺服務器上負載可能幾乎為0,只要內存足夠,還可以繼續接受連接。

并發請求數一般用QPS(服務器每秒處理多少請求)來衡量,而當前時刻服務器上有多少個tcp連接并不十分關注。例如一臺服務器只有10個客戶端連接,每個客戶端連接上每秒有1W個請求,那么要求服務端需要至少能支撐10*1W=10W每秒的吞吐量(QPS)。

假設10W吞吐量每秒是這臺服務器的極限,如果每個客戶端每秒發送1個請求給服務端,那么這臺服務器能夠支撐10W個客戶端。

并發連接數受限于服務器內存,一般24G內存workerman服務器可以支持大概120W并發連接。

并發請求數受限于服務器cpu處理能力,一臺24核workerman服務器可以達到45W每秒的吞吐量(QPS),實際值根據業務復雜度以及代碼質量有所變化。

注意

高并發場景必須安裝event或者libevent擴展。另外需要優化linux內核,尤其是進程打開文件數限制。

壓測數據

這里僅提供workerman壓測的QPS數據參考。

###測試環境:

系統:debian 6.0 64位

內存:64G

cpu:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz (2顆物理cpu,6核心,2線程)

Workerman:開啟200個Benchark進程

壓測腳本:benchmark

業務:發送并返回hello字符串

###普通PHP(版本5.3.10)壓測

短連接(每次請求完成后關閉連接,下次請求建立新的連接):

條件: 壓測腳本開500個并發線程模擬500個并發用戶,每個線程連接Workerman 10W次,每次連接發送1個請求

結果: 吞吐量:2.3W/S , cpu利用率:36%

長連接(每次請求后不關閉連接,下次請求繼續復用這個連接):

條件: 壓測腳本開2000個并發線程模擬2000個并發用戶,每個線程連接Workerman 1次,每個連接發送10W請求

結果: 吞吐量:36.7W/S , cpu利用率:69%

內存:每個進程內存穩定在6444K,無內存泄漏

以上是php5.3版本壓測數據,如果用php7,性能會再次提升40%左右。

###HHVM環境壓測

短連接(每次請求完成后關閉連接,下次請求建立新的連接):

條件: 壓測腳本開1000個并發線程模擬1000個并發用戶,每個線程連接Workerman 10W次,每次連接發送1個請求

結果: 吞吐量:3.5W/S , cpu利用率:35%

長連接(每次請求后不關閉連接,下次請求繼續復用這個連接):

條件: 壓測腳本開6000個并發線程模擬6000個并發用戶,每個線程連接Workerman 1次,每個連接發送10W請求

結果: 吞吐量:45W/S , cpu利用率:67%

內存:HHVM環境每個進程內存穩定在46M,無內存泄漏

感謝你能夠認真閱讀完這篇文章,希望小編分享的“workerman如何實現高并發”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

夹江县| 元江| 航空| 定南县| 瑞昌市| 普陀区| 绿春县| 东方市| 肇庆市| 泰宁县| 抚远县| 平罗县| 龙口市| 遵化市| 栾川县| 海口市| 湟中县| 冀州市| 东阿县| 冷水江市| 九龙城区| 辽阳县| 宜丰县| 德州市| 开化县| 西丰县| 伽师县| 德令哈市| 元江| 汕尾市| 桦南县| 三原县| 名山县| 汉寿县| 阳原县| 芒康县| 罗田县| 股票| 张家界市| 杭州市| 凤山县|