0

我使用rails来展示自动化硬件测试结果;我们的测试主要通过 TCL 运行。最近,我们实现了一个“log4TCL”,它基本上是 log4J 的翻译版本。日志文件有超过 40000 行,每行都作为日志记录写入数据库,并且视图的加载时间太长而无法使用。我曾尝试使用 ajax 请求来加快速度,但初始查询/页面加载占整个页面加载的约 75%。

我的解决方案是页面缓存。我不能使用包含页面缓存的rails,因为每个日志报告都是“log_viewer”的不同实例。该报告是使用 test_run_id 参数生成的。Rails 包含的页面缓存仅缓存“log_viewer.html”的一个实例。我需要的是“log_viewer_#{test_run_id}.html”。我已经实现了一种方法。报告在一周后过期并从 test_runs/log_viewer_cache 目录中清除以节省磁盘空间。如果需要较旧的报告,加载页面会使用新的过期计时器重新生成报告。

我得出的结论是,这是要走的路。我担心的是,我在任何地方都没有找到像这样的任何其他实现,这让我相信我错过了设计中的一个固有缺陷。任何输入将不胜感激。

编辑:为澄清起见,此报告的“动态”内容需要很长时间才能加载。我需要缓存动作/片段缓存不关心的多个实例。

4

0 回答 0