Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    error connecting: Timeout expired - e ora come faccio??

    Salve a tutti...
    sono in panico

    da 5 minuti appena prova ad accedere al mio sito mi è esce questo errore:

    codice:
    error connecting: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.
    come faccio??

    perchè mi da questo errore?? ogni volta che apro una connessione la richiudo.... non capisco questa cosa.....

    aiutatemi perfavore

  2. #2
    Utente di HTML.it L'avatar di ybla82
    Registrato dal
    Jan 2009
    Messaggi
    92
    E' scritto nella descrizione dell'errore.

    Hai aperto troppe connessioni....
    questo risultato è causa di una mancata chiusura delle connessioni precedenti.

    Esempio: all'interno di una pagina web apri una connessione, fail una select, e ...basta!

    La teoria prevede che tu chiuda la connessione subito dopo aver effettuato la query.

    Spero che sia questo.

    Ciao

  3. #3
    ciao,
    allora puntualizzo che in molte pagine ho sbagliato qualcosina ...tipo:
    apri connessione,
    chiudi connessione,
    apri connessione,
    chiudi connessione,
    apri connessione,
    chiudi connessione,
    apri connessione,
    chiudi connessione,

    ho eliminato questo problema.... ora funziona bene...
    inoltre ho notato che alcune connessioni nelle query restavano aperte e le ho chiuse....

    potevano essere questi i problemi?? o devo cercare altro??

  4. #4
    Utente di HTML.it L'avatar di ybla82
    Registrato dal
    Jan 2009
    Messaggi
    92
    no direi che la ragione dei tuoi problemi dovrebbe essere appunto la mancata chiusura delle connessioni.

  5. #5
    nelle pagine ho trovato un paio di connessioni non chiuse.....
    ho qualche dubbio però che per un paio di connessioni non chiuse mi sia uscito il problema....

    cmq, speriamo non si ripresenti, nel frattempo sto ricontrollando tutto il codice e non mi sembra ci sia altro, comunque ora funziona correttamente in caso vi faccio sapere,
    per il momento grazie mille

  6. #6
    Il problema principale e che hai saturato il pool di connessioni, come diceva ybla82 Sql Server non è in grado di restituirtene altre in quanto tutte sono occupate.

    Per ovviare al problema puoi seguire diverse strade:
    1. aumentare il Pool di connessioni disponibili se hai necessita di effettuare molte operazioni in parallelo (ne dubito... difficilmente si ricorre all'esecuzione Asincrona dei Tasks)

    2. Evitare di eseguire query in questo modo:
    codice:
    Apro - Query 1 - Chiudo  Apro - Query 2 - Chiudo
    sarebbe più logico e sensato eseguire operazioni in questo modo:
    codice:
    Apro
    Query - 1
    Query - 2
    Chiudo
    Penso sia chiaro il beneficio che il Server SQL trae da questo tuo modo di eseguire le query. Soprattutto in applicazioni web, a differenza delle client, questo concetto è importantissimo.
    Fai conto che quell "Apro/Chiudo/Apro/Chiudo" và moltiplicato per il numero di utenti connessi e quindi il numero delle connessione nel pool aumenta VERTIGINOSAMENTE in pochissimo tempo,

    se tu fai Apri/Chiudi 3 volte in una pagina ed a questa pagina si connettono 5 persone a distanza di pochi secondi l'una dall'altra il calcolo è semplice:

    Pool Size = 3(Apri/Chiudi) * 5 = 15
    Cioè, hai inserito nel pool 15 Connessioni che restano li aperte per un determinato periodo di tempo in modo tale da poter essere successivamente servite velocemente (? questo non accade se non le gestisco bene!)
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    ciao,
    si in effetti come avevo intuito credo anche io che il problema sia nella gestione delle connessioni, cioè dell'apri,chiudi,apri,chiudi .....

    in effetti ho limitato notevolmente questo problema, però non riesco a scendere sotto le 4 apri-chiudi connessioni per pagina.....

    dite che è un problema???? o devo cercare di scendere il più possibile ad una connessione per pagina??

  8. #8
    guarda, è un pò strano, dovresti avere una connessione per pagina. Cerca di capire come poter realizzare il tutto in modo tale da poter arrivare a questo obiettivo
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  9. #9
    si in effetti penso che il consiglio sia giustissimo....
    solo che ho qualche difficoltà...

    non è che puoi darmi qualche indizio???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.