Wie zu lösen Timeout-Fehler ich mit Community Server haben?
-
21-08-2019 - |
Frage
Wir verwenden in unserer Firma Telligent Community Server 2007.1 SP2, und wir werden eine Menge von Timeouts von diesem Werkzeug sind, ist es einfach nicht, dass jemand zu erfüllen.
Unser CS war 2007 SP1, mit vielen Timeouts. So eine Person aus Telligent suport vorgeschlagen ein Upgrade auf die aktuelle Version, 2007.1 SP2. Wir haben es geschafft, eigentlich denke ich, es ist schlimmer als zuvor.
Die Website auf einem dedizierten Server veröffentlicht wird, haben wir einen anderen Server zum Forum Datenbank gewidmet ist. Beide Computer verfügen über Verarbeitungs- und Speicherressourcen zur Verfügung. Anwendungspool ist allright, Datenbank-Timeout ziemlich groß ist eigentlich (300s) ...
Wir tun Unternehmenssuche verwenden, da wir rund 2,5 Millionen Einträge. Datenbank wurde indexiert (Tabellendaten) und neu kompiliert (Procs) heute.
Diese Meldung wird angezeigt, wenn jemand versucht, auf „Forum“ zu klicken:
Hat[SqlException (0x80131904): Timeout abgelaufen. Das Zeitlimit vor der Beendigung der Operation oder der Server antwortet nicht.]
System.Data.SqlClient.SqlConnection.OnError (SqlException Ausnahme, Boolean Breakconnection) +1950890 System.Data.SqlClient.SqlInternalConnection.OnError (SqlException Ausnahme, Boolean Breakconnection) +4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand CmdHandler, SqlDataReader Datastream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData () +33 System.Data.SqlClient.SqlDataReader.get_MetaData () +83 System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 954 System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String-Methode, DbAsyncResult Ergebnis) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String-Methode) +32 System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior Verhalten, String-Methode) +141
System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior Verhalten) 70
CommunityServer.Data.ForumsSqlDataProvider.GetThreads (ForumThreadQuery query) in C: \ Repositorio \ Forum \ trunk \ Data Providers \ SqlDataProvider \ ForumsSqlDataProvider.cs: 960 CommunityServer.Discussions.Components.Threads.GetThreads (ForumThreadQuery query) in C: \ Repositorio \ Forum \ trunk \ Foren \ components \ Threads.cs: 85 CommunityServer.Discussions.Controls.ThreadList.get_DataSource () im C: \ Repositorio \ Forum \ trunk \ Foren \ controls Thema \ ThreadList.cs \: 83 System.Web.UI.WebControls.Repeater.ConnectToDataSourceView () +183 System.Web.UI.WebControls.Repeater.OnLoad (EventArgs e) +19
CommunityServer.Controls.PreTemplatedWrappedRepeaterBase.OnLoad (EventArgs e) in C: \ Repositorio \ Forum \ trunk \ controls \ Base \ PreTemplatedWrappedRepeaterBase.cs: 90 System.Web.UI.Control.LoadRecursive () +50 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Control.LoadRecursive () +141 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 627
jemand jemals diese Art von Problem mit CS hat?
Lösung 2
Wir beschließen es viele neue Indizes zu erstellen, das Hinzufügen (nolock) zu kritischen Fragen und einige Bereinigung auf alte Daten zu tun.
Andere Tipps
Wir führen eine Version von CS, die dies in meinem Unternehmen nahe. Ich habe keine Probleme wie das mit ihm. Allerdings haben wir keine hohe Nutzung. Mit Blick auf der Stack-Trace-ID sagen, dass es ein Problem mit der Rückkehr aus dem SQL-Aufruf Parsen aus einem Forum Thread zu laden? Was passiert, wenn Sie auf SQL Profiler drehen und beobachten, welche Abfrage ausgeführt wird, die das Problem verursacht. Dann versuchen Sie diese Abfrage manuell in der Abfrage-Editor-Fenster ausführen und sehen, ob SQL etwas sagt, möglicherweise einen schlechten Index, der neu erstellt werden muss.