第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

多線程處理IO密集型問題

多線程處理IO密集型問題

皈依舞 2019-02-27 01:46:20
1.定時(shí)任務(wù)查詢大量記錄,利用多線程將這些記錄通過dubbo接口發(fā)送給第三方,并且等待第三方的結(jié)果,更新這些記錄。2.dubbo的接口普遍都比較慢,大致在30秒以上。3.數(shù)據(jù)庫分配的最大連接數(shù)在200. 利用線程池去處理dubbo接口交互,線程池里面的線程數(shù)控制在200以內(nèi)。4.在數(shù)據(jù)庫連接池200以內(nèi),處理量始終上不去,機(jī)器負(fù)載也很低,感覺資源浪費(fèi)很嚴(yán)重。因?yàn)榈诎⒂耫ubbo接口和連接池綁定再一起,也不能一直無限開啟線程數(shù)大小。5,在上面這種情況下 該如何優(yōu)化,可以最大限度的利用機(jī)器負(fù)載,短時(shí)間內(nèi)完成大量dubbo交互
查看完整描述

2 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

看上去是你的dubbo接口是瓶頸,比數(shù)據(jù)庫查詢慢多了。

所以你應(yīng)該用200個(gè)線程去數(shù)據(jù)庫查詢,把記錄放到隊(duì)列里,然后用大于200的線程(比如400吧)從隊(duì)列里取記錄,負(fù)責(zé)調(diào)用dubbo接口。

如果dubbo接口有批量模式,盡量用批量模式。

查看完整回答
反對(duì) 回復(fù) 2019-03-01
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

其實(shí)很想解決你的問題,我最喜歡這種問題的了。但是你表達(dá)的,嗯,算我理解能力差。 以我盡力理解的問題后,答案是這樣的,你說接口在30s,那么你200個(gè)線程同時(shí)去處理,那也只是7個(gè)TPS那樣。依你說所的機(jī)器負(fù)載低,那我就算你硬盤IO,CPU負(fù)載都不高,也可以算出你查詢的數(shù)據(jù)量并不大。我猜你的問題就是在于,網(wǎng)絡(luò)延遲上。這種延遲要么是,網(wǎng)絡(luò)的問題,要么就是server方(就是你的第三方)服務(wù)處理慢。 而解決這種延遲一般采用以下方式:

  1. 解決網(wǎng)絡(luò)問題的延遲(是有點(diǎn)廢話且困難,但卻是最有效)
  2. 定位server方的服務(wù)為什么這么慢(跟上面也差不多廢話,但卻是最有效)
  3. 保持TCP鏈接,用連接池的方法達(dá)到TCP復(fù)用。
  4. 加大TCP的連接數(shù),不然你只有200個(gè)連接,而你每個(gè)連接處理事務(wù)都要30S,這種情況,不加大TCP連接數(shù),吞吐量是起不來的。
查看完整回答
反對(duì) 回復(fù) 2019-03-01
  • 2 回答
  • 0 關(guān)注
  • 866 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)