2009-02-20 14 views
5

Ho un'applicazione in Grails. Uso Hibernate per accedere al database (secondo le regole standard di Grails) Uso MySql e il sito funziona ed è stabile (per 6 mesi).Grails/Hibernate Il database si arresta in modo anomalo durante il caricamento: Impossibile connettersi (anche durante il pooling)

Sto eseguendo il test del carico e di recente ho scoperto che il database rifiuta le connessioni quando è sotto carico.

Utilizzando MySQL Server 5, posso vedere le discussioni Connessione più si aggirano intorno a 20. pensato che salta tra 11 - 30.

mysql> show status like '%con%'; 
+--------------------------+-------+ 
| Variable_name   | Value | 
+--------------------------+-------+ 
| Aborted_connects   | 72 | 
| Connections    | 65539 | 
| Max_used_connections  | 101 | 
| Ssl_client_connects  | 0  | 
| Ssl_connect_renegotiates | 0  | 
| Ssl_finished_connects | 0  | 
| Threads_connected  | 1  | 
+--------------------------+-------+ 
7 rows in set (0.00 sec) 

La mia configurazione del database è di serie. (Il server MySql è installato localmente, non mostrato)

dataSource { 
    pooled = false 
    driverClassName = "com.mysql.jdbc.Driver" 
    username = "username" 
    password = "secret" 

    maxIdle = 15 
    maxActive = 100   
} 

Devo indagare su C3P0? O dovrei rasterare il mio maxActive a 1000 e sperare per il meglio?

risposta

4

Quale errore viene segnalato da Grails quando non è possibile ottenere una connessione al database? Tempo scaduto? Rifiutato?

Quando si esegue il test, quanto è caricata la scatola? CPU percentuale, utilizzo della memoria, ecc.

È possibile che il database sia sovraccaricato così tanto che Grails stia scadendo le connessioni. Se si desidera gestire il carico, si andrà a collegarsi alle connessioni DB. Senza il pool, Grails aprirà e chiuderà una connessione DB con ogni richiesta.

+0

Sembra che i limiti di connessione Pooling e MySql rappresentino la risposta. – user57660

0

Controlla la configurazione di mysql (/etc/mysql.conf o il suo equivalente locale), in particolare le connessioni massime e le impostazioni max conn per utente; sembra che possa venire da mysql e non da graal.

Problemi correlati