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

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

Java高CPU占用問題

Java高CPU占用問題

慕標琳琳 2019-07-06 22:45:35
問題描述如題,如何解決CPU占用過高的問題?,F在有一個項目需要對大量數據進行非常頻繁的處理,這個項目是合作項目,合作程序每隔10秒鐘向數據庫中寫入大約1000條數據,但是他們寫入的數據無法直接使用。我方程序使用定時任務每隔10秒鐘訪問數據庫,獲取新增的數據并進行解析、計算、另存、并操作關聯數據表,每次大約執行10條sql語句。但是這種處理方式大量占用數據庫服務器CPU,客戶并不打算升級器,后續每次新增的數據量還會增長,求一個有效的優化方案。感激不盡!問題補充1.用戶要求使用折線圖實時展示最新數據,就是說每次出現新數據就必須立刻反應在折線圖上,他們最低的要求是每10秒刷新一次。2.合作程序是以前的程序,我們沒辦法調整對方的程序,只能把處理放在我方。
查看完整描述

2 回答

?
米脂

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

既然他們寫入的數據無法直接使用,可以考慮用MQ代替寫數據庫,比如,他們通過MQ發送1000條數據,你們的程序從MQ中取得數據,處理后再寫入數據庫。比如RabbitMQ。
                            
查看完整回答
反對 回復 2019-07-06
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

能否對方的數據做預處理,然后在寫入庫中,這樣咱們這邊能直接使用?。。。能否讓對方寫入消息隊列(RabbitMQ),然后對數據做完處理,在存庫,然后就可以直接使用。
如果數據量比較小,能否直接存儲原始數據,每次請求折線圖,實時處理數據后再返回。
如果數據量很大,能否將數據劃分成可變的(比如平均值)和不可變的(昨天的生產量),然后不可變的直接存庫,可變的每次實時計算。
按照你現在的流程,好像沒啥優化的余地了,最多就是數據庫層面的一些優化。。。如果你找到好的解決方案,給我回復一下,我也學習一下。
                            
查看完整回答
反對 回復 2019-07-06
  • 2 回答
  • 0 關注
  • 354 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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