Timeout-Anforderungen in ColdFusion zu überschreiben

September 18

Beim Auftreten von Timeouts in ColdFusion haben eine oder mehrere Anforderungen in der Warteschlange nicht ausgeführten Anfrage Pool zu erreichen. Diese Situation wirkt sich negativ auf Ihren Server, wie Anforderungen hängen und den heben oder neu zu starten. Die gute Nachricht ist, dass viele Timeout-Anforderungen durch Anpassen der Einstellungen für den Server und ein paar Tag Änderungen überschrieben werden kann.

Anfrage-Timeout ändern

Wenn das "Timeout Anfragen nach (in Sekunden)" aktiviert ist, werden Anforderungen, die der angegebenen Frist überschreiten abgebrochen. Öffnen Sie den Bildschirm "ColdFusion-Administrator-Server-Einstellungen", und das Anfrage-Timeout auf 30 Sekunden festgelegt. Als nächstes können Sie den ColdFusion-Administrator-Timeout einstellen für die längeren Seiten überschreiben. Hierzu verwenden Sie das Timeout-Attribut auf den Transpondern Cfquery oder Cfhttp haben Sie eine Seite mit entweder dieser Tags. Alternativ kann das Cfsetting-Tag "RequestTimeout" Attribut verwendet werden, überschreiben Sie den ColdFusion-Administrator-Timeout einstellen.

Anpassen von threadWaitTimeout

Die Timeouteinstellung für verzögerte Threads ist die ThreadWaitTimeout-Einstellung. Um Anfragen zu überschreiben, ändern Sie die ThreadTimeout-Einstellung auf 30 Sekunden. Sie müssen möglicherweise weitere Anpassungen erforderlich machen. Die ThreadTimeout-Einstellung sollte festgelegt werden mindestens gleich oder mehr als die RequestTimeout Einstellung – die maximale Empfehlung ist 300 Sekunden. Ausgeführte Anforderungen haben immer Vorrang gegenüber Anforderungen in der Warteschlange, damit beim Feintuning der ThreadWaitTimeout-Einstellung berücksichtigen wie lange eine Anforderung in der Warteschlange warten, eine aktive Anforderung werden, bevor die Zeit abgelaufen. Die ThreadWaitTimeout-Einstellung ist in der Datei jrun.xml. Suchen Sie im Ordner "jrun_root\JRun4\servers\cfusion\SERVER-INF" für die jrun.xml-Datei Konfiguration einer J2EE-Installation werden; Suchen Sie im "Cf_root\CFusionMX\runtime\servers\default\SERVER-INF", wenn es eine Serverkonfiguration-Installation ist.

Überprüfen doSomething.cfm Timing

Timeouts für die doSomething.cfm-Seite in ColdFusion variieren basierend auf wie das Timeout-Attribut von seiner Cfquery festgelegt ist. Wenn DoSomething Seite ein Auftritt Timeout, erhalten Sie eine Fehlermeldung in der Datei Application.log, die liest:

"Fehler", "Jrpp-19", "14.04.04", "10: 34:02",,"die Anforderung überschritten die zulässigen Frist Tag: die angegebene Reihenfolge der Dateien enthalten oder verarbeitet ist CFLOOP: C: Apache2048\Apache2\htdocs\shaws_ora\doSomething.cfm."

Wenn Sie diese Fehlermeldung oder eine ähnlich sehen, verwenden Sie die GetTickCount()-Funktion suchen langsamen Code und versuchen, die Leistung der Seite optimieren.

Warnungen und Überlegungen

Der Code funktioniert möglicherweise nicht in jeder Situation. Einige Tags in ColdFusion werden geänderte Einstellungen nicht betroffen; Dazu gehören Cfftp, Cfexecute, Dfobject, Cfstoredproc und Cfcontent. ColdFusion wartet, bis die Aktionen dieser Tags abgeschlossen sind und dann nach einem Request Timeout sucht. Wenn es nicht innerhalb der angegebenen Timer-Einstellungen empfangen wird, wird der Thread hängen und dann neu starten.