Override Richieste Timeout in ColdFusion

January 27

Quando i timeout a ColdFusion si verificano, una o più richieste in coda non sono riusciti a raggiungere la piscina richiesta di esecuzione. Questa situazione influisce negativamente il server come le richieste di appendere e annullano o riavviare. La buona notizia è che è possibile ignorare molte richieste di timeout regolando le impostazioni del server e fare alcune modifiche di tag.

Richiesta di modifica Timeout

Quando i "Richieste Timeout dopo (secondi)" casella è selezionata, le richieste che superano il limite di tempo specificato vengono annullate. Aprire la schermata "Impostazioni ColdFusion amministratore del server" e impostare il timeout richiesta di 30 secondi. Successivamente, è possibile ignorare l'impostazione di timeout ColdFusion Administrator per le pagine più lunghe. Per fare questo, utilizzare l'attributo di timeout sui cfquery o cfhttp tag, se si dispone di una pagina con uno di questi tag. In alternativa, attributo "requestTimeout" del tag cfsetting può essere utilizzato per sostituire l'impostazione timeout ColdFusion Administrator.

regolare threadWaitTimeout

L'impostazione per le discussioni in coda timeout è l'impostazione threadWaitTimeout. Per ignorare le richieste, modificare l'impostazione threadTimeout a 30 secondi. Potrebbe essere necessario effettuare ulteriori regolazioni, se necessario. L'impostazione threadTimeout deve essere impostata su almeno lo stesso o più rispetto all'impostazione RequestTimeout - la raccomandazione massima è di 300 secondi. le richieste di esecuzione hanno sempre la precedenza su richieste in coda, in modo che quando tweaking l'impostazione threadWaitTimeout, tengono conto di quanto tempo una richiesta di coda di attesa di diventare una richiesta attiva prima del timeout. L'impostazione threadWaitTimeout è nel file jrun.xml. Cercare nella "jrun_root \ jrun4 \ server \ cfusion \ SERVER-INF" cartella per il file jrun.xml se la configurazione è un'installazione J2EE; Cerca in "cf_root \ CFusionMX \ runtime \ server \ default \ SERVER-INF" se si tratta di un'installazione di configurazione del server.

Controllare doSomething.cfm Timing

Timeout per la pagina doSomething.cfm in ColdFusion possono variare a seconda di come viene impostato l'attributo di timeout della sua cfquery. Se la pagina doSomething volte su, potrebbe essere visualizzato un messaggio di errore nel file application.log che recita:

"Errore", "jrpp-19", "04/14/04", "10:34:02" ,, "La richiesta ha superato il limite di tempo consentito Tag: cfloop La sequenza specificata di file inclusi o trattamento in oggetto è: C : Apache2048 \ Apache2 \ htdocs \ shaws_ora \ doSomething.cfm ".

Se viene visualizzato questo messaggio di errore o uno simile ad esso, utilizzare la funzione GetTickCount () per individuare il codice lento e cercare di ottimizzare le prestazioni della pagina.

Avvertenze e considerazioni

Modifica del codice non può funzionare in ogni situazione. Alcuni tag di ColdFusion non sono influenzate dalle impostazioni modificate; questi includono CFFTP, cfexecute, dfobject, CFSTOREDPROC e cfcontent. ColdFusion attende che le azioni di questi tag sono stati completati e poi si verifica la presenza di una richiesta di timeout. Se non è ricevuto entro le impostazioni del timer specificate, il filo si bloccherà e riavviare.