请求已超过允许的时间限制标签:CFQUERY

时间:2016-04-25 12:36:37

标签: coldfusion

查询仅返回4-5行。执行时间不到1秒。我有trid增加cfquery和cfsetting的超时但不起作用。大多数时候代码运行成功,但我在每20-30个请求后出现此错误。我正在使用sql server数据库。我知道当你重新启动cf服务器或db服务器超时问题有时会发生,但是这个错误是在没有重新启动任何服务(cf或sql server)的情况下发生的。我认为cf服务器应该有一些设置更改请建议。

请求已超过允许的时间限制标记:CFQUERY 错误发生在第180行。

<CFQUERY NAME="Sections" DATASOURCE="abcd">
    SELECT * FROM News_Sections where Section = 'Home' ORDER BY Page_order
</CFQUERY>

2 个答案:

答案 0 :(得分:0)

这里可能存在的问题是数据库不是 ColdFusion。我有几个提示给你。首先,使用MSSQL Activity Monitor签出块(作为等待类型)。如果你看到一个块或一个&#34;头部拦截器&#34;单击该项目,它将显示查询(有时:)。

enter image description here

一旦找到它,修复问题将涉及索引或更改查询(复杂连接或子查询通常会产生意外后果)。

你可能有运气使用&#34; WITH(nolock)&#34;在上面的查询中允许脏读(如果你只是获取类别,可能没问题)。您还可以考虑使用cachedwithin缓存上述查询或将其放在应用程序范围中。如果它只是广泛的&#34;家庭&#34;对我来说似乎合理的类别(虽然显然我不了解你的架构。

我的最后一点建议是仔细检查发生错误的页面。有时候行号有点偏差。如果您有一组查询,可能不是您认为错误的查询,而是上面的查询。它并不常见但可能会发生。

答案 1 :(得分:0)

正如Bracuk先生所指出的,这可能不是您的查询的问题。此错误与CFAdmin for Request超时中的设置有关。正在加载的页面经历了超时并抛出了错误。发生超时时,它恰好正在处理您的查询。

因此,虽然查询是一个开始查找的好地方,但请确保在搜索超时原因时检查整个脚本。