Domanda

Ho un'applicazione web che di tanto in tanto getterà questo errore ....

  

Messaggio di eccezione: Timeout scaduto.   Il periodo di timeout trascorso prima   completamento dell'operazione o   server non risponde.

Quando lo fa non sono in grado di connettersi al server di SQL, anche attraverso la gestione dello studio, è il server dice scaduta e non può connettersi.

Non appena ho reimpostare IIS, ritorna immediatamente. Quindi questo significa, ovviamente, si tratta di qualcosa nel mio codice che sta causando questo. Ho un sito MVC che utilizza LINQ to SQL e SQL cache di dipendenza con il Service Broker attivato.

ho usato l'istruzione using a fondo tutto il codice, in modo sono sicuro che non è connessioni che perde. Leggendo i log del server rende le cose più confuse, ci sono così tante informazioni e gli eventi di avviso, non im un amministratore di sistema quindi è difficile sapere che cosa sta succedendo.

Si comincia con me ottenere un ID evento 1309 messaggio Eccezione ASP.net 4.xxxxx: Timeout scaduto. Il periodo di timeout trascorso prima del completamento dell'operazione o il server non risponde. Errore

Credo di aver preso tutto l'ultima volta sul mio server precedente ribadendo IIS quando mai questo errore spuntato, questa è una cosa che non voglio ricorrere a questo nuovo server.

Quindi la mia domanda è, quali misure posso prendere per cercare di ridurre, ma idealmente eliminare questo errore di timeout?

Ogni aiuto è più apprezzato

Truegilly

È stato utile?

Soluzione

Questo tipo di problema di solito si riduce a una delle due cose. O non gettare via le connessioni correttamente o si dispone di un numero di query pesanti che sono completamente prendendo sopra il server di database.

Se non si smaltisce i collegamenti correttamente allora IIS sarà lieto di tenerli in giro fino a quando viene eseguito raccolta dei rifiuti e / o che timeout. Se si dispone di un sito molto poco trafficata, allora non sarà possibile visualizzare il problema.

Tuttavia, una volta che il traffico raggiunge il punto in cui il numero di connessioni in giro supera il numero di volte in cui si sta tentando di effettuare una connessione al server di database .. bene, si sta per iniziare a vedere uno di un paio di possibili errori. Timeout scaduto è uno. L'errore esatto è andare a dipendere da quale parte sta cadendo sopra:. Il pool di connessioni, il server SQL in sé, etc

La correzione che hai commentato è una soluzione temporanea. Mentre il traffico continua ad aumentare (buon problema di avere) e poi altre aree del codice stanno andando a causare il problema di venire di nuovo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top