国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workman進(jìn)程處理問(wèn)題

zm6891

環(huán)境workman協(xié)議http://127.0.0.1:8081,Nginx代理跳轉(zhuǎn)到8081,tp5+workman,開(kāi)8進(jìn)程,業(yè)務(wù)對(duì)外curl請(qǐng)求銀行項(xiàng)目,超時(shí)3秒;同一時(shí)間并發(fā)300+請(qǐng)求,都未超時(shí),想請(qǐng)教一下此時(shí)wookman的8進(jìn)程是否只能并發(fā)處理8個(gè)請(qǐng)求,后面的是否都需要排隊(duì)?4核4線程CPU怎么發(fā)揮?和Nginx+php+fastcgi比起來(lái)處理速度怎么樣,fastcgi可以動(dòng)態(tài)生成work是不是會(huì)好一點(diǎn)?

4219 3 1
3個(gè)回答

walkor 打賞

如果workerman里業(yè)務(wù)用curl,8個(gè)進(jìn)程只能并發(fā)處理8個(gè)請(qǐng)求,也就是一個(gè)進(jìn)程處理完一個(gè)請(qǐng)求后,才會(huì)處理下一個(gè),后面的請(qǐng)求排隊(duì)。

如果curl改成workerman/http-client,8個(gè)進(jìn)程可以并發(fā)處理更多的請(qǐng)求,每個(gè)請(qǐng)求不用排隊(duì),workerman會(huì)并發(fā)處理。

如果業(yè)務(wù)是調(diào)用curl的話,性能瓶頸在curl,理論上 nginx+workermanNginx+php+fastcgi 稍好一些,但是效果差別不大。如果workerman使用workerman/http-client則并發(fā)要比Nginx+php+fastcgi 好很多。

  • tastyz 2020-07-10

    業(yè)務(wù)中有阻塞,請(qǐng)求就會(huì)等待。采用異步mysql,是否可以解決或緩解請(qǐng)求排隊(duì)?

  • walkor 2020-07-10

    mysql的話直接用同步阻塞就可以了,因?yàn)閙ysql連接數(shù)是瓶頸,mysql默認(rèn)連接數(shù)一般是100,雖然可以調(diào)高,但是調(diào)高后mysql連接數(shù)過(guò)大直接影響mysql性能。一個(gè)請(qǐng)求假設(shè)發(fā)起3個(gè)異步mysql請(qǐng)求,就占用了3個(gè)mysql連接,300并發(fā)請(qǐng)求可能直接占用900mysql連接,即使你用了mysql連接池,假設(shè)連接池上限100個(gè)mysql連接(已經(jīng)很多了),300并發(fā)打過(guò)來(lái)還是要排隊(duì),所以mysql異步解決不了多大問(wèn)題。使用異步+mysql連接池和多開(kāi)一些進(jìn)程+mysql單例+阻塞訪問(wèn)mysql效果其實(shí)差不多,但是明顯mysql單例阻塞式訪問(wèn)代碼更簡(jiǎn)單,更穩(wěn)定。

  • tastyz 2020-07-10

    非常感謝。websocket協(xié)議下processes設(shè)為1時(shí)onmessage中收到用戶并發(fā)請(qǐng)求也是同理(同時(shí)只能處理一個(gè)請(qǐng)求)?

  • tastyz 2020-07-10

    謝謝細(xì)致的回答。理解了:多開(kāi)進(jìn)程,處理時(shí)間久的部分異步掉(粗暴的理解)

tastyz

項(xiàng)目同時(shí)用到了,http和websocket,笨拙的寫(xiě)了個(gè)共用處理邏輯的框架。
有一點(diǎn)不清楚,就是websocket協(xié)議下processes設(shè)為1時(shí)onmessage中收到用戶并發(fā)請(qǐng)求也是同理(同時(shí)只能處理一個(gè)請(qǐng)求)?
截圖
截圖
截圖
截圖
截圖

  • adminppper 2020-07-11

    大佬,你是怎么 做的web服務(wù)給tp5的,我現(xiàn)在不知道怎么搞定偽靜態(tài)

walkor 打賞

看情況,onmessage里是同步阻塞代碼就是并發(fā)處理一個(gè)請(qǐng)求。如果onmessage里是異步非阻塞就是并發(fā)處理多個(gè)請(qǐng)求。但是從更微觀上來(lái)講,同一個(gè)cpu某一時(shí)刻只能運(yùn)行處理一個(gè)請(qǐng)求。所以從這一點(diǎn)來(lái)講不管你是同步阻塞還是異步非阻塞,還是協(xié)程,同時(shí)只能處理一個(gè)請(qǐng)求。

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??