Come risolvere gli errori di timeout io ho con Community Server?
-
21-08-2019 - |
Domanda
Stiamo usando nella nostra azienda Telligent Community Server 2007.1 SP2, e stiamo avendo un sacco di timeout da questo strumento, non è solo soddisfacente nessuno.
Il nostro CS era 2007 SP1, avendo molti timeout. Così una persona da Telligent suport suggerito un aggiornamento alla versione corrente, 2007.1 SP2. L'abbiamo fatto, in realtà penso che sia peggio di prima.
Il sito è pubblicato su un server dedicato, abbiamo un altro server dedicato alla banca dati forum. Entrambi i computer dispongono di risorse di elaborazione e la memoria disponibile. pool di applicazioni è allright, timeout database è abbastanza grande realtà (300s) ...
Facciamo usare ricerca aziendale, dal momento che abbiamo circa 2,5 milioni di messaggi. Database è stato reindicizzazione (dati della tabella) e ricompilato (proc) oggi.
Questo messaggio viene visualizzato, quando qualcuno tenta di fare clic su "Forum":
[SqlException (0x80131904): Timeout scaduto. Il periodo di timeout trascorso prima del completamento dell'operazione o il server non risponde.]
System.Data.SqlClient.SqlConnection.OnError (SqlException eccezione, breakConnection booleano) +1950890 System.Data.SqlClient.SqlInternalConnection.OnError (SqlException eccezione, breakConnection booleano) +4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) 194
System.Data.SqlClient.TdsParser.Run (runBehavior RunBehavior, SqlCommand cmdHandler, SqlDataReader Datastream, bulkCopyHandler BulkCopySimpleResultSet, 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, ReturnStream booleano, async booleano) 954 System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, runBehavior RunBehavior, ReturnStream booleano, il metodo String, risultato DbAsyncResult) 162
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, runBehavior RunBehavior, ReturnStream booleano, il metodo String) +32 System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior comportamento, il metodo String) 141
System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior comportamento) +70
CommunityServer.Data.ForumsSqlDataProvider.GetThreads (ForumThreadQuery query) in C: \ Repositorio \ Forum \ tronco \ Data Providers \ SqlDataProvider \ ForumsSqlDataProvider.cs: 960 CommunityServer.Discussions.Components.Threads.GetThreads (ForumThreadQuery query) in C: \ Repositorio \ Forum \ tronco \ forum \ Components \ Threads.cs: 85 CommunityServer.Discussions.Controls.ThreadList.get_DataSource () nel C: \ Repositorio \ Forum \ tronco \ forum \ Controls \ Discussione \ 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 \ tronco \ 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 (booleano includeStagesBeforeAsyncPoint, booleano includeStagesAfterAsyncPoint) 627
Avere qualcuno ha mai avuto questo tipo di problema con CS?
Soluzione 2
Abbiamo risolto esso creando un sacco di nuovi indici, aggiungendo (NOLOCK) alle domande critiche e fare un po 'di pulizia sui vecchi dati.
Altri suggerimenti
Noi usiamo una versione di CS che è vicino a questo alla mia azienda. Non ho avuto problemi del genere con esso. Tuttavia non abbiamo elevato utilizzo. Osservando lo stack trace id dire la sua avendo un problema di analisi fuori il ritorno dalla chiamata SQL per caricare un filo Forum? Che cosa succede se si accende SQL Profiler e guardare ciò che è in esecuzione di query che è la causa del problema. Quindi provare a eseguire la query manualmente nella finestra dell'editor di query e vedere se SQL dice qualcosa, forse un cattivo indice che ha bisogno di essere ricostruito.