Frage : Zeitweilige lange Lastszeit am Lernabschnitt REQUEST_ACQUIRE_STATE

Wir haben ein Problem mit IIS 7.5.  Wir sind bei dem Abweichen eines vorhandenen ASP.NET Aufstellungsortes zu einem neuen Bediener. Er lief unter IIS 6 gerade fein für ungefähr 5 Jahre.  Dort laufen kein Verkehr und keine Prozesse auf diesen neuen Bediener.  Es ist eine interne Web site und nichts anderes abgewandert worden zu diesem neuen Kasten n, aber er erreicht über das Internet und nicht über lokales network.

The läuft ein Aufstellungsort mit erfordertem HTTPS und einem Selbst-unterzeichneten Security Certificate.  Jede mehrere paginieren Lasten (eine in fünf oder in einem in sechs), die Drehbeschleunigungen des web browser gerade für ungefähr 111 Millisekunden.  Als versuchend, herauszufinden, was das Problem war, ermöglichten wir der Spur using die web.config Akte:






Once, welches die Spur, wir ermöglicht, fand, dass der Antrag nie hing.  Es verarbeitete immer innen unter einer Sekunde.  Wir geprüft seit dem weitgehend und fanden, dass es durchweg wenn hängt.  Als Satz zum enabled=, der Antrag nie hangs.

We ", das zutreffend ist ", versuchte, den Antrag zu betrachten, indem er die Spur auf dem Bediener abstellte und Charles (3.5.1) auf dem lokalen Rechner einschielt.  Interessant erhalten wir nicht irgendwelche hängen am Aufstellungsort mit Charles, der irgendein laufen lässt.  Der Browser berichtet nie alle mögliche Störungen, aber über unsere Reports des Anwendungsniveau-Störungsabfangens (durchgeführt von Global.asax in Application_Error) ein unzulässiges viewstate.  Ich denke, dass das unzulässige viewstate ohne Bezug ist, aber wem knows.

These Seiten die intensiven Daten sind, also wir diesen Aspekt betrachten wollten.  Wir fanden, dass nichts im SQL-Auswerteprogramm, das den SQL-Server anzeigen, der in das problem.

Next mit.einbezogen, wir versuchten, verlassene Antrag-verfolgenrichtlinien zu verwenden.  Da die Seite nicht über eine Störung berichtete und gerade Weise zu lang zur Last dauerte, einstellten wir die Bedingung auf Status Code 200 00.  Dieses notierte erfolgreich die Seitenlasten.  Da es gerade ich auf dem System war, könnte ich die guten Lasten vom langen ones.

leicht auswählen, was wir waren eine lange Zeit auf dem „Lernabschnitt“ „REQUEST_ACQUIRE_STATE“ fanden, der direkt dem „ManagedPipelineHandler“ „MAP_REQUEST_HANDLER“ folgt.  

Session Zustand ist im Prozess und hat die Standardeinstellung.  Nichts geändert worden.  Dieses ist ein LOGON-Aufstellungsort mit ASP.NET Mitgliedschafts-Versorger, aber anders verwendet wirklich keinen Lernabschnitt variables.

There sind keine Ausgaben, die in den Windows-Maschinenbordbüchern des Bedieners berichtet, und keine Ausnahme scheint, auf diese langen loads.

Does jedes, geworfen zu werden zu haben Empfehlungen oder Vorschläge über, wie man dieses löst?

Thanks,
John

Antwort : Zeitweilige lange Lastszeit am Lernabschnitt REQUEST_ACQUIRE_STATE

Ich habe keine bestimmten Antworten, aber ich in der Lage war, das Problem zu lösen.  Der fragliche Aufstellungsort lief in .NET 2.0 mit der älteren Version des System.Web.Extensions (scripting, JSON und anderer Whatnot).  Wir verwendeten auch das ASP.NET SqlMembershipProvider.  Dieses war auch auf einem HTTPS Anschluss (zwar, ob der in Verbindung stehend war, wissen wir nicht).

In unserer Forschung fanden wir, dass das Drehen an verfolgen über das web.config das Problem stoppte.  Ebenso using Charles, schien aufzupassen, was vom Fernklienten geschah, das Problem zu stoppen.  Gegründet auf diesem darstellten wir ir, dass es eine seitliche Ausgabe des Klienten höchstwahrscheinlich war.  Die Ausgabe nie ausgewirktes Firefox oder das Chrom und wir in der Lage waren, andere mit Ausgaben zu finden, in denen Internet Explorer nicht Plätzchen sendete oder Probleme mit Situationen der Plätzchenkommunikation insbesondere hatte.  Wissend, dass eine Änderung auf dem Bediener (der Spur ermöglichend) die lange Verzögerung vom Auftreten stoppen, folgerten wir, dass etwas in der Kommunikation zwischen dem Aufstellungsort und DEN IE-Browsern das Problem war.

Das regeln, das für uns bearbeitet:

Wir verbesserten das web.config und den Aufstellungsort, um 3.5 der system.web.extensions Abschnittgruppe in den configSections zu verwenden, verbesserten die Versammlungen, httpHandlers, httpModules und hinzufügten im system.codedom, system.webServer Abschnitte n.  Wir recompiled den Aufstellungsort und verschoben den Code zum Bediener und das Problem seit dem gelöst worden.

Ich vermute, dass der Zusatz des system.codedom und des system.webServer wichtig war.  Using die neueren Versammlungen kann eine Rolle auch gespielt haben.

Danke,
John
Weitere Lösungen  
 
programming4us programming4us