我正在编写一个我想要经常运行的计划任务。
问题是,如果服务器遇到高流量负载,我不希望运行此任务。
除了从java获取空闲/总内存/最大内存之外,还有其他方法可以尝试确定此任务是否应该继续执行吗?
发布于 2010-06-28 17:13:11
GetMetricData()可以很好地显示你的服务器有多忙,比如有多少请求在运行,有多少请求在排队,还有其他信息。
这与您从命令行运行cfstat
获得的信息相同(您可以在{cfroot}\bin\cfstat.exe
下找到)。
但是,如果您只调用该函数一次,那么知道您当时有多忙对您来说可能不是很有用。使用might perfmon
将性能数据记录到文件或数据库表中可能会更好。然后,您可以获得过去5分钟(或其他时间)内运行/排队的平均请求数,并决定是否运行您的任务。
发布于 2010-06-28 15:57:57
有一种简单的方法可以检索内存使用信息。
http://misterdai.wordpress.com/2009/11/25/retrieving-coldfusion-memory-usage/
对于CPU load,我认为你可以从getMetricData()获取,但也有其他方法,但由于这是我第一篇stackoverflow帖子,所以我只允许一个链接:P,但它在我的博客上,所以当你看上面的链接时,只需要做一个CPU搜索。
您可能会发现深入研究getMetricData()以获取性能监视统计信息非常有用。这是一种通过运行和排队的请求数量来判断服务器有多忙的好方法。
希望这对你有帮助,戴夫(又名戴先生)
发布于 2010-06-29 05:05:33
使用ColdFusion AdminApi。在浏览器中调用http://servername/CFIDE/adminapi/servermonitor.cfc以获取组件的cfcdocs。If为您提供了多种方法来获取CF服务器实例的健康状况。
https://stackoverflow.com/questions/3130696
复制相似问题