为计划任务优化coldfusion资源

时间:2016-03-22 15:19:21

标签: coldfusion scheduled-tasks

我的任务是优化一些运行数小时的计划任务。其中一项任务贯穿于1995年至今的数据。我的第一个想法(除了修改查询等)是通过多年创建一个cfloop并为每年创建一个线程。

这是一个好方法吗?有没有更好的方法来分担这项任务的工作量?

1 个答案:

答案 0 :(得分:2)

在优化任何事情之前,你真的需要弄清楚什么是慢的。否则,您可能会花费大量时间调整代码以获得相对较小的收益。数据库通常是瓶颈,但您需要先找到它。

在简单的层面上,您可以启用调试(在开发机器上)并查看花费的时间。还有像Fusion Reactor这样的工具可以为您提供更多洞察力。或者,您可以只添加一些<cflog>调用到您的脚本,然后分析它们以识别慢速块。无论你决定采用哪种方式,你都需要知道你的努力最佳用途。

其他一些想法......

  • 数据是否会发生变化?

如果没有,则将数据编译一次并存储,以便计划任务不必每次都重做工作

  • 您使用的是哪个版本的CF?

如果你不小心,你可能会用完线程 - 如果你的服务器正在运行其他东西,这将特别糟糕。但是,线程可能是您解决方案的一部分。