2016-04-25 3 views
2

Запрос возвращает только 4-5 строк. Выполнение занимает менее 1 секунды. У меня есть трид, увеличивающий тайм-аут как cfquery, так и cfsetting, но не работает. большая часть кода времени работает успешно, но я получил эту ошибку после каждых 20-30 запросов. Я использую базу данных sql-сервера. Я знаю, что при перезагрузке сервера cf server или 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

Тайм-аут может быть связан с другой деятельностью либо с базой данных, либо с сервером приложений. –

ответ

0

Вероятная проблема здесь будет база данных не ColdFusion. У меня есть несколько советов для вас. Во-первых, используя MSSQL Activity Monitor, проверяйте блоки (как тип ожидания). Если вы видите блок или «блокировщик головы», нажмите на этот элемент, и он покажет вам запрос (иногда :).

enter image description here

После того, как вы его найти, решение данной проблемы будет включать в себя индексацию или изменение запроса (сложные соединения или подзапросы часто имеют неожиданные последствия).

Возможно, вам удастся использовать «WITH (nolock)» в вышеуказанном запросе, чтобы разрешить грязное чтение (возможно, нормально, если вы просто получаете категории). Вы также можете рассмотреть кеширование вышеуказанного запроса с помощью cachedwithin или его размещение в области приложения. Если это просто широкие «домашние» категории, которые кажутся мне разумными (хотя, очевидно, я не знаю вашу схему.

Мой последний совет - проверить страницу, на которой происходит ошибка. Иногда линия номер немного выключен. Если у вас есть группы запросов вместе, это может быть не ваш запрос думаю, что ошибочно, но один над ним. Это не часто, но это может случиться.

0

Как указывал г-н Bracuk, это может быть не проблема с вашим запросом. Эта ошибка связана с настройкой в ​​тайм-аутах CFAdmin for Request. Это загружается страница, которая испытала таймаут и выбрала ошибку. Когда это произошло, только что обработал ваш запрос.

Итак, в то время как запрос является хорошим местом для начала поиска, обязательно проверьте весь сценарий при поиске причины таймаута.

Смежные вопросы