问题描述
如题,如何解决CPU占用过高的问题。现在有一个项目需要对大量数据进行非常频繁的处理,这个项目是合作项目,合作程序每隔10秒钟向数据库中写入大约1000条数据,但是他们写入的数据无法直接使用。我方程序使用定时任务每隔10秒钟访问数据库,获取新增的数据并进行解析、计算、另存、并操作关联数据表,每次大约执行10条sql语句。但是这种处理方式大量占用数据库服务器CPU,客户并不打算升级器,后续每次新增的数据量还会增长,求一个有效的优化方案。感激不尽!
问题补充
1.用户要求使用折线图实时展示最新数据,就是说每次出现新数据就必须立刻反应在折线图上,他们最低的要求是每10秒刷新一次。
2.合作程序是以前的程序,我们没办法调整对方的程序,只能把处理放在我方。
既然他们写入的数据无法直接使用,可以考虑用MQ代替写数据库,比如,他们通过MQ发送1000条数据,你们的程序从MQ中取得数据,处理后再写入数据库。比如RabbitMQ。