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

问题描述:

该查询只返回4-5行。执行时间不到1秒。我有trid增加cfquery和cfsetting的超时但不工作。大部分时间代码都能成功运行,但每次20-30次请求后都会出现此错误。我正在使用SQL Server数据库。我知道你什么时候重新启动cf服务器或db服务器超时问题有时会发生,但是这个错误是在没有重新启动任何服务(cf或sql server)的情况下进行的。我认为应该有一些在cf服务器上的设置更改请建议。请求已超出允许的时间限制标签:CFQUERY

请求已超出允许的时限标签:CFQUERY 发生错误就行180

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

超时可能与数据库或应用程序服务器上的其他活动有关。 –

这里可能出现的问题将是数据库的ColdFusion。我有几个提示给你。首先,使用MSSQL Activity Monitor检出块(作为等待类型)。如果你看到一个块或“头部阻塞器”点击该项目,它会显示你的查询(有时:)。

enter image description here

一旦你找到它,解决了这个问题会涉及索引或更改查询(复杂的连接或子查询常常遇到意想不到的后果)。

在上面的查询中,使用“WITH(nolock)”可能会有一些运气允许脏读(如果您刚刚获得类别,可能还可以)。您也可以考虑使用cachedwithin缓存上述查询或将其放在应用程序范围中。如果它只是我认为合理的广泛的“家”类别(虽然显然我不知道你的模式)

我最后的建议是检查发生错误的页面。如果你有一组查询在一起,它可能不是你查询认为是错误的,但它是上面的一个它不常见,但它可能发生

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

因此,尽管查询是一个开始查找的好地方,但在搜索超时原因时一定要检查整个脚本。