【发布时间】:2012-07-20 19:23:59
【问题描述】:
我们必须对现有的 Web 应用程序实施监控模块。该应用程序的目的是记录在运行时执行的每个方法所花费的时间并保存到 2 个监控表中。由于应用程序中发生了很多方法调用,我们无法每次执行方法都保存到表中。我们使用spring aop截取时间。我们使用redis缓存数据,每十分钟取一次数据从缓存中保存并保存在数据库中。但是 redis 似乎是一个麻烦的想法,因为它不断建立新的连接,这给应用程序带来了一场噩梦。有没有其他方法可以做到这一点。我们考虑写入文件并从中获取数据该文件是周期性的。但这似乎也是一个消耗资源的解决方案。
【问题讨论】:
-
您的数据库肯定可以记录每笔交易的时间吗?
-
您是在寻找速度还是更少的资源消耗?使用 RAM 总是比使用硬盘快。另一方面,您可以尝试其他缓存解决方案。
-
@PaulVargas,我认为这是个好主意。
-
@EJP 想法是一个表记录所有事务数据,例如每个方法所花费的时间,其他表保留计算记录,例如一个特定方法的 avg,max,min time。第一个表数据将被删除定期
-
我理解这个想法。关键是所有数据都已经在数据库中。您所要做的就是对日志执行查询。您不必收集数据。
标签: java database spring caching redis