我有从几台机器中检索CPU、内存和磁盘使用情况的进程,并将数据存储到MySQL数据库中。我想把它们画成折线图,比如CPU使用量与日期或内存使用量与时间。
几个月后,我的数据库有数百万的数据。在选择一段时间的数据进行图表绘制时,它花费了大量时间。(已应用数据库规范化。)
在保存到数据库之前,是否有任何已知的统计方法将数据合并到分钟或小时?
或者我应该在互联网上搜索什么关键词来整合这些监测数据?
谢谢。
最好有完整的数据用于存储,合并数据用于构建图等。您可以使用触发器、cron作业、物化视图和其他类型的脚本来创建一组单独的合并数据。
另一种解决方案是创建一组临时的未合并数据,然后将其压缩到主数据表中所需的数据。
关于统计方法——你应该运用常识。有时您只需要AVG值,有时需要MAX或MIN(我认为您希望看到最大CPU使用率、最小剩余磁盘空间、最大RAM使用率等)。