Når timeouts i ColdFusion oppstår, har en eller flere i kø forespørsler klarte å nå den løpende forespørsel bassenget. Denne situasjonen påvirker negativt din server som forespørsler henge og utjevne eller starte på nytt. Den gode nyheten er at du kan overstyre mange timeout forespørsler ved å justere serverens innstillinger og gjøre noen tag modifikasjoner . Endre Request Timeout
Når " Timeout Forespørsler etter ( sekunder )" er merket , er forespørsler som overstiger fastsatt frist kansellert. Åpne " ColdFusion Administrator Server Settings "-skjermen og sett forespørsel timeout på 30 sekunder. Deretter kan du overstyre ColdFusion Administrator timeout setting for dine lengre sider. For å gjøre dette , bruker timeout attributtet på cfquery eller cfhttp koder, hvis du har en side med noen av disse kodene . Alternativt kan cfsetting tag er " requestTimeout "-attributtet brukes til å overstyre ColdFusion Administrator timeout setting.
Juster threadWaitTimeout
timeout setting for kø tråder er threadWaitTimeout innstilling . Å overstyre forespørsler, endre threadTimeout innstillingen til 30 sekunder . Du må kanskje gjøre ytterligere justeringer som er nødvendig . Den threadTimeout innstillingen må settes til minst det samme eller mer enn RequestTimeout innstilling - maksimal anbefaling er 300 sekunder . Antall forespørsler alltid gå foran i køen forespørsler, så når tweaking threadWaitTimeout innstilling, ta hensyn til hvor lenge en kø forespørsel vil vente med å bli en aktiv forespørsel før den går ut på tid . Den threadWaitTimeout innstillingen er i jrun.xml filen. Se i " jrun_root \\ jrun4 \\ servere \\ cfusion \\ SERVER -INF " mappen for jrun.xml filen hvis konfigurasjonen er en J2EE installasjon; titt i " cf_root \\ CFusionMX \\ runtime \\ servere \\ default \\ SERVER -INF " hvis det er en Server Configuration installasjon.
Sjekk doSomething.cfm Timing
tidsavbrudd for doSomething.cfm side i ColdFusion kan variere basert på hvordan timeout attributt av sin cfquery er satt . Hvis doSomething side ganger ut , kan du få en feilmelding i Application.log fil som lyder:
"Feil" , " jrpp - 19 ", " 04/14/04 ", " ;. 10:34:02 " , , " Forespørselen har overskredet den tillatte frist Tag : CFLOOP den angitte sekvens av filene som er inkludert eller behandles er : C: Apache2048 \\ Apache2 \\ htdocs \\ shaws_ora \\ doSomething.cfm "
p Hvis du ser denne feilmeldingen eller en som ligner på den, bruker GetTickCount ()-funksjonen til å finne saktegående kode og prøve å optimalisere ytelsen på siden.
Advarsler og hensyn
Endre Koden kan ikke fungere i alle situasjoner . Noen koder i ColdFusion blir ikke påvirket av endrede innstillinger , og disse inkluderer cfftp , cfexecute , dfobject , cfstoredproc og cfcontent . ColdFusion venter til handlingene til disse kodene er ferdig og deretter det sjekker for en Request Timeout . Hvis den ikke er mottatt innen de angitte tidsurinnstillingene , vil tråden henge og start .