ianaz
23-07-2008, 10:54
Utilizzo i connection pool c3p0 con Hibernate, il DB é MySQL e il webserver Tomcat.
L'applicazione web l'ho testata con 5/10 utenti contemporanei e va tutto bene (di più non posso).
Ho testato il sito con JMeter ( http://jakarta.apache.org/jmeter/ ), impostando a 100 i threads (quindi simulerebbe un 200/300 utenti online). Cade dopo neanche 10 secondi la connessione col database :S
In questo modo non é come una naturale navigazione perché ogni thread che crea, sul server crea una sessione, così che nel manager di Tomcat, quando cade la connessione vedo che ha circa 15/18mila sessioni (il timeout sessione é impostato a 30minuti).
Anche se con una naturale navigazione dovrebbe tenere, non é sicuramente sicuro per un eventuale attacco. Dovrei farlo riconnettere dopo la disconnessione? Come?
Nel config di Hibernate ho messo
<property name="connection.autoReconnect">true</property>
<property name="connection.autoReconnectForPools">true</property> ma nulla da fare.
Ho impostato l'autoReconnect=true nell'indirizzo jdbc ma nemmeno in questo caso funziona...
L'applicazione web l'ho testata con 5/10 utenti contemporanei e va tutto bene (di più non posso).
Ho testato il sito con JMeter ( http://jakarta.apache.org/jmeter/ ), impostando a 100 i threads (quindi simulerebbe un 200/300 utenti online). Cade dopo neanche 10 secondi la connessione col database :S
In questo modo non é come una naturale navigazione perché ogni thread che crea, sul server crea una sessione, così che nel manager di Tomcat, quando cade la connessione vedo che ha circa 15/18mila sessioni (il timeout sessione é impostato a 30minuti).
Anche se con una naturale navigazione dovrebbe tenere, non é sicuramente sicuro per un eventuale attacco. Dovrei farlo riconnettere dopo la disconnessione? Come?
Nel config di Hibernate ho messo
<property name="connection.autoReconnect">true</property>
<property name="connection.autoReconnectForPools">true</property> ma nulla da fare.
Ho impostato l'autoReconnect=true nell'indirizzo jdbc ma nemmeno in questo caso funziona...