Problema ou dúvida com timeout de cfquery

3 views
Skip to first unread message

clebo

unread,
Mar 3, 2011, 10:10:28 AM3/3/11
to cfbrasil
Caros, bom dia!

Tenho uma query de pesquisa muito simples (SELECT campos FROM view
WHERE ..), porém que faz uma pesquisa com alguns likes em uma view
muito lenta. Como resultado, ocorre timeout.

Eu seto o timeout no cfquery para valores altos (ex.: 480), mas parece
que ele não é respeitado, aparentemente continua ocorrendo o timeout
após os 120 segundos mesmo...

Alguém sabe de alguma restrição e/ou ambiente no qual este parâmetro
não funcione?

Estou trabalhando no CF8, o banco de dados é Oracle, a chamada à
consulta é via Ajax (implementado no javascript, não cfajax) e a query
está em um CFC.

Obrigado,
Cleber

Eduardo Aben-Athar

unread,
Mar 3, 2011, 10:45:18 AM3/3/11
to cfbr...@googlegroups.com
Opa!

Tenta isto aqui no inicio da pagina
<cfsetting requesttimeout="1000">
o requesttimeout é em segundos

Abraço

Eduardo Aben Athar
Adobe Certified Expert - Advanced Coldfusion 8

"O espirito puro, sigelo e constante não se distrai no meio de tantas ocupações
porque faz tudo para a honra de Deus, sem buscar em coisa alguma seu
próprio interesse"





--
Você recebeu este e-mail pois está cadastrado na lista ColdFusion Brasil
Para CANCELAR sua assinatura escreva para cfbrasil+u...@googlegroups.com
Para ASSINAR a lista escreva para cfbrasil+...@googlegroups.com
O endereço para ENVIO DE MENSAGENS da lista é cfbr...@googlegroups.com
REGRAS em http://groups.google.com/group/cfbrasil/web/regras-de-boa-convivncia-na-lista
Outras opções disponíveis em http://groups.google.com/group/cfbrasil

Eduardo Aben-Athar

unread,
Mar 3, 2011, 10:45:47 AM3/3/11
to cfbr...@googlegroups.com
Lembrando.....
Voce deve concertar a query...
isto naum é nada elegante

:D

Eduardo Aben Athar
Adobe Certified Expert - Advanced Coldfusion 8

"O espirito puro, sigelo e constante não se distrai no meio de tantas ocupações
porque faz tudo para a honra de Deus, sem buscar em coisa alguma seu
próprio interesse"




Jose Finger

unread,
Mar 3, 2011, 11:02:37 AM3/3/11
to cfbr...@googlegroups.com
outra coisa é não fazer querys sobre views com likes,etc. por que uma view esta sempre sendo atualizada.
[]s



2011/3/3 Eduardo Aben-Athar <dudda.a...@gmail.com>

Paulo Augusto Teixeira

unread,
Mar 3, 2011, 12:59:07 PM3/3/11
to cfbr...@googlegroups.com
Faça a query, depois faça uma query of query para depois exibir o resultado da query of query.
Costuma melhorar bastante o desempenho.

Mas ajuda bastante também dar uma tunada na query.

2011/3/3 clebo <dom.c...@gmail.com>
--
Você recebeu este e-mail pois está cadastrado na lista ColdFusion Brasil
Para CANCELAR sua assinatura escreva para cfbrasil+u...@googlegroups.com
Para ASSINAR a lista escreva para cfbrasil+...@googlegroups.com
O endereço para ENVIO DE MENSAGENS da lista é cfbr...@googlegroups.com
REGRAS em http://groups.google.com/group/cfbrasil/web/regras-de-boa-convivncia-na-lista
Outras opções disponíveis em http://groups.google.com/group/cfbrasil



--
Paulo A. Teixeira
Adobe Certified Expert Flex 3 with AIR
Adobe Certified Expert Rich Internet Application v1.0
Adobe Certified Expert ColdFusion 8
--
Blog: http://www.pauloteixeira.blog.br
My Pics: http://agostinho.tumblr.com/

clebo

unread,
Mar 3, 2011, 3:16:46 PM3/3/11
to cfbr...@googlegroups.com
Colegas, valeu as dicas, mas ainda não resolveu.. :-(
Parece que o servidor simplesmente ignora os settings de timeout

Paulo, sua sugestão é fazer uma query completa da view, e depois
aplicar os filtros na query de query?

Obriagdo,
Cleber


--
Cleber Roberto Milani
Doutorando em Ciência da Computação - PUCRS
Mestre em Ciência da Computação - PUCRS
Bacharel em Ciência da Computação - UFPel

Christiano Oliveira

unread,
Mar 3, 2011, 4:10:32 PM3/3/11
to cfbr...@googlegroups.com, clebo
Bom,

Vamos por partes,
Como solução imediata altere o timeout diretamente na query:

Ex:
<cfquery datasource="DS" timeout="1200">

Também utilize o RequestTimeOut (tempo de resposta da PAGINA), logo no
inicio do script:
<cfsetting requesttimeout="1200">


Isso *deve* resolver o caso.

Porem o ideal é analisar como esta o comportamento desta mesma query
direto no banco.
Tente executar ela direto contra o banco (sem o CF), seja pelo MSSQL
Management ou pelo MySQL Workbench (depende do seu banco)
- Verifique o tempo de resposta da query.
- Se tiver uma ferramenta de analise de custo (MSSQL Management faz
isso com CTRL+L)

Tente encontrar os gargalos da sua query.

Busque formas de otimizar a busca, seja por data ou por range de
ID's... além de usar o LIKE (se não existir forma de remover ele).

Se precisar de ajuda com a query em particular, me envie em PVT e te
dou uma ajuda,

Abraços,


2011/3/3 clebo <dom.c...@gmail.com>:

--
Christiano Jose de Oliveira
Project Manager - Brasil Netuno Internacional
DebugNet - Development Business Group
coli...@debug.net.br
http://www.debug.net.br

Reply all
Reply to author
Forward
0 new messages