????? 業(yè)務(wù)場景,設(shè)備tcp長連接發(fā)送數(shù)據(jù)上來,然后我需要調(diào)用三次第三方的api,返回給設(shè)備,測試大概調(diào)取三次api的時(shí)間總計(jì)在0.4-0.7秒之間,這基本上也是單線程處理一個(gè)業(yè)務(wù)的時(shí)間(時(shí)間基本花費(fèi)在post 第三方api上,內(nèi)部的邏輯操作所消耗的時(shí)間幾乎可以忽略不計(jì)),我開起了16個(gè)bussiness進(jìn)程來處理業(yè)務(wù)邏輯,測試全部處理500個(gè)并發(fā)大概需要10s左右的時(shí)間,但是實(shí)際的場景中,前500個(gè)并發(fā)與后500個(gè)并發(fā)中間的時(shí)間間隔大概只有3秒中,越來越多的tcp鏈接就會(huì)導(dǎo)致業(yè)務(wù)阻塞,CPU使用率就會(huì)到100%,然后服務(wù)器就炸了,求解決方案。
???? 現(xiàn)在我只能想辦法增加并發(fā)數(shù)量,增加服務(wù)器配置或者分布式,目前服務(wù)是雙核4G內(nèi)存的centos??戳讼挛臋n有異步任務(wù)的方式,但是異步任務(wù)好像只能保證服務(wù)不會(huì)阻塞,沒辦法保證響應(yīng)時(shí)間,場景要求設(shè)備必須在3秒之內(nèi)收到回復(fù),跪求大佬指點(diǎn)迷津,點(diǎn)撥一下即可~~~