亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

worker進程同時可以處理幾個請求

worker進程同時可以處理幾個請求

慕慕森 2019-07-28 12:52:20
swoole高并發如何實現?我看過相關的文檔,master進程里的reactor線程是io復用的,異步非阻塞,這邊并發量不會是問題,問題是reactor線程將數據發給worker進程,雖然reactor可以處理高并發,但是worker線程不可以,這邊應該會成為瓶頸?一個worker同一個時刻只能處理一個連接請求?假設一個請求100ms,一個worker也就10qps,這樣是如何實現高并發的呢
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

你說的是阻塞模型下的worker,是這么計算,上個請求沒處理完時下一個請求無法處理。
如果是非阻塞IO的情況下,接收請求后放入epoll中,就去處理下一個請求了。如果當前請求處理完畢,通過response對象發送響應結束處理。
                            
查看完整回答
反對 回復 2019-07-28
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

比如你有一個接口,這個接口去查數據庫,返回結果需要一定時間,如需要100ms返回結果
這時候有兩個請求進來
先處理第一個請求,與數據庫通信,告訴數據庫你要查詢的語句,在等待返回數據這100ms期間協程掛起
這時候開始處理第二個請求,同樣的等待數據庫返回結果前,這第二個協程也是掛起的
哪一個請求的數據庫返回結果先回,那就繼續執行那個協程
這種I/O密集型場景,協程非常合適
                            
查看完整回答
反對 回復 2019-07-28
  • 2 回答
  • 0 關注
  • 593 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號