Mysql
 sql >> Database >  >> RDS >> Mysql

Numero ottimale di connessioni nel pool di connessioni

Intendevi davvero 200 simultanei utenti o solo 200 utenti registrati? Nella maggior parte dei casi, un utente del browser non sarà in grado di eseguire più di 1 richiesta di pagina al secondo. Quindi, 200 utenti si traducono in 200 transazioni al secondo. Questo è un numero piuttosto alto per la maggior parte delle applicazioni.

Indipendentemente da ciò, ad esempio, andiamo con 200 transazioni al secondo. Supponiamo che ogni tx front-end (browser) richieda 0,5 secondi per essere completato e degli 0,5 secondi, 0,25 vengono spesi nel database. Quindi, avresti bisogno di 0,5 * 200 o 100 connessioni nel pool di connessioni WebLogic e 0,25 * 200 =50 connessioni nel pool di connessioni DB.

Per sicurezza, imposterei le dimensioni massime del pool di thread su almeno il 25% in più rispetto a quanto previsto per consentire picchi di carico. I minimi possono essere una piccola frazione del massimo, ma il compromesso è che potrebbe richiedere più tempo per alcuni utenti perché dovrebbe essere creata una nuova connessione. In questo caso, 50 - 100 connessioni non sono così tante per un DB, quindi è probabilmente un buon numero di partenza.

Nota che per capire quali sono i tuoi tempi medi di risposta delle transazioni, insieme al tuo tempo medio di query DB, dovrai eseguire un test delle prestazioni perché i tuoi tempi di caricamento probabilmente non saranno i tempi che vedrai con un singolo utente.