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

gateway四個(gè)進(jìn)程分別占滿一半cpu

joytom

gatewayworker框架,開(kāi)啟了四個(gè)business進(jìn)程、四個(gè)gateway進(jìn)程。

使用:ps aux命令查看的:

root      3225  0.0  0.0 481304 10032 ?        S    Mar03   0:00 WorkerMan: master process  start_file=/opt/piplin/Gateway/start.php
root      3226  1.4  0.0 483352 15444 ?        S    Mar03  12:54 WorkerMan: worker process  IMBusinessWorker none
root      3228  1.4  0.0 483352 15148 ?        S    Mar03  12:54 WorkerMan: worker process  IMBusinessWorker none
root      3230 47.3  0.0 497724 28052 ?        S    Mar03 433:32 WorkerMan: worker process  IMGateway websocket://im.800hr.com:8002
root      3231 50.0  0.0 498044 28308 ?        R    Mar03 458:51 WorkerMan: worker process  IMGateway websocket://im.800hr.com:8002
root      3232 53.1  0.0 500192 30344 ?        R    Mar03 487:12 WorkerMan: worker process  IMGateway websocket://im.800hr.com:8002
root      3233 56.0  0.0 501200 31360 ?        R    Mar03 513:52 WorkerMan: worker process  IMGateway websocket://im.800hr.com:8002
root      3234  0.0  0.0 481304  9320 ?        S    Mar03   0:00 WorkerMan: worker process  Register text://0.0.0.0:1239
root      4198  1.3  0.0 483352 13072 ?        S    Mar03  11:24 WorkerMan: worker process  IMBusinessWorker none
root     14243  1.5  0.0 483352 13064 ?        S    08:50   0:10 WorkerMan: worker process  IMBusinessWorker none

服務(wù)器配置信息:

內(nèi)存:62g
cup核數(shù):10核
Speed: 10000Mb/s
已優(yōu)化Linux內(nèi)核、已安裝擴(kuò)展

業(yè)務(wù)請(qǐng)求量:1k——8k

想知道哪方面的原因會(huì)導(dǎo)致cpu上升?如果我提供的這些信息不能讓你判斷導(dǎo)致cpu上升的原因,可否列舉幾種導(dǎo)致cpu上升的原因?

1926 3 3
3個(gè)回答

Tinywan

需要貼出詳細(xì)的信息

  • 服務(wù)器配置?
  • 請(qǐng)求量是多少?
iqige

客戶端頻繁建立連接?

  • 暫無(wú)評(píng)論
walkor 打賞

壓測(cè)cpu上漲很正常,尤其業(yè)務(wù)調(diào)用api接口較多時(shí)。

除了幾個(gè)操作client_id的接口,其它所有api接口(例如Gateway::sendToGroup() Gateway::sendToUid()等)被調(diào)用時(shí)都要向所有g(shù)ateway進(jìn)程發(fā)起請(qǐng)求,那么一個(gè)客戶端請(qǐng)求在gatewayWorker里會(huì)裂變成多次gateway網(wǎng)絡(luò)請(qǐng)求,復(fù)雜的邏輯可能裂變成數(shù)十次gateway網(wǎng)絡(luò)請(qǐng)求。所以看起來(lái)是客戶端發(fā)起幾千請(qǐng)求,但是gatewayWorker內(nèi)部實(shí)際上可能處理幾萬(wàn)的內(nèi)部網(wǎng)絡(luò)請(qǐng)求調(diào)用,這會(huì)增加cpu調(diào)用消耗。然而一臺(tái)服務(wù)器的極限網(wǎng)絡(luò)請(qǐng)求可能就20萬(wàn)(好的服務(wù)器可能多一些),所以很容易成為瓶頸。

所以想辦法減少不必要的接口調(diào)用,例如isUidOnline(),例如不調(diào)用session相關(guān)接口,直接用$_SESSION變量等。
開(kāi)啟盡量少的gateway進(jìn)程,例如只開(kāi)1個(gè)gateway進(jìn)程一般會(huì)降低cpu消耗。

重點(diǎn)
最后比較重點(diǎn)的說(shuō)下,GatewayWorker是一個(gè)長(zhǎng)連接分布式即時(shí)通訊框架,它所對(duì)應(yīng)的業(yè)務(wù)模型是類(lèi)似聊天、物聯(lián)網(wǎng)這種維持著大量連接,但是通訊量并不大的業(yè)務(wù)。所以壓測(cè)時(shí)應(yīng)該按照你實(shí)際業(yè)務(wù)場(chǎng)景壓測(cè),不能按照傳統(tǒng)http業(yè)務(wù)模型壓測(cè)。以傳統(tǒng)http業(yè)務(wù)模型去壓測(cè)10個(gè)客戶端就可以把服務(wù)器cpu打滿,那不能認(rèn)為服務(wù)器只能支持10個(gè)連接。以QQ聊天為例,一個(gè)2000人在線的群里每秒產(chǎn)生一條消息就已經(jīng)刷屏了,10個(gè)這樣的群20000人在線每秒產(chǎn)生的請(qǐng)求數(shù)就幾個(gè),這樣的請(qǐng)求量在服務(wù)端根本看不到什么cpu消耗。所以重點(diǎn)是評(píng)估下自己的業(yè)務(wù)模型,需要維持多少客戶端在線,每個(gè)客戶端多久向服務(wù)端發(fā)起一次請(qǐng)求,然后再查看cpu消耗。

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