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

Optimalt antal forbindelser i forbindelsespuljen

Mente du virkelig 200 samtidige brugere eller blot 200 loggede brugere? I de fleste tilfælde vil en browserbruger ikke være i stand til at udføre mere end 1 sideanmodning pr. sekund. Så 200 brugere omsættes til 200 transaktioner i sekundet. Det er et ret højt tal for de fleste applikationer.

Uanset hvad, lad os som et eksempel gå med 200 transaktioner i sekundet. Lad os sige, at hver frontend (browser) tx tager 0,5 sekunder at fuldføre, og af de 0,5 sekunder er 0,25 brugt i databasen. Så du skal bruge 0,5 * 200 eller 100 forbindelser i WebLogic-headpoolen og 0,25 * 200 =50 forbindelser i DB-forbindelsespuljen.

For at være sikker ville jeg indstille de maksimale trådpoolstørrelser til mindst 25 % større, end du forventer at tillade spidsbelastninger. Minimumsværdierne kan være en lille brøkdel af maks., men afvejningen er, at det kan tage længere tid for nogle brugere, fordi der skal oprettes en ny forbindelse. I dette tilfælde er 50 - 100 forbindelser ikke så mange for en DB, så det er nok et godt starttal.

Bemærk, at for at finde ud af, hvad dine gennemsnitlige transaktionssvartider er, sammen med din gennemsnitlige DB-forespørgselstid, bliver du nødt til at lave en ydeevnetest, fordi dine tider ved indlæsning sandsynligvis ikke vil være de tidspunkter, du ser med en enkelt bruger.



  1. Kontrol af værdi i et array inde i én SQL-forespørgsel med WHERE-sætning

  2. Hvordan beder jeg om hjælp til at optimere og rette forespørgsler i MySQL?

  3. Hvordan ATAN2() virker i MariaDB

  4. Sådan bruges Bulk Collect-klausul med SELECT INTO-erklæring i Oracle-databasen