sql >> Database >  >> RDS >> Mysql

Optimaal aantal verbindingen in verbindingspool

Bedoelde je echt 200 gelijktijdig gebruikers of slechts 200 ingelogde gebruikers? In de meeste gevallen zal een browsergebruiker niet meer dan 1 paginaverzoek per seconde kunnen doen. Dus 200 gebruikers vertaalt zich in 200 transacties per seconde. Dat is een vrij hoog aantal voor de meeste toepassingen.

Hoe dan ook, laten we als voorbeeld uitgaan van 200 transacties per seconde. Stel dat elke front-end (browser) tx 0,5 seconden in beslag neemt en van de 0,5 seconden wordt 0,25 in de database besteed. U hebt dus 0,5 * 200 nodig, of 100 verbindingen in de WebLogic-theadpool en 0,25 * 200 =50 verbindingen in de DB-verbindingspool.

Om veilig te zijn, zou ik de maximale draadpoolgroottes instellen op ten minste 25% groter dan je verwacht om pieken in de belasting toe te staan. De minima kunnen een kleine fractie van het maximum zijn, maar het nadeel is dat het voor sommige gebruikers langer kan duren omdat er een nieuwe verbinding tot stand moet worden gebracht. In dit geval zijn 50 - 100 verbindingen niet zo veel voor een DB, dus dat is waarschijnlijk een goed startnummer.

Houd er rekening mee dat om erachter te komen wat uw gemiddelde transactieresponstijden zijn, samen met uw gemiddelde DB-querytijd, u een prestatietest moet doen, omdat uw tijden bij het laden waarschijnlijk niet de tijden zullen zijn die u ziet met een enkele gebruiker.



  1. Hex in tekstweergave converteren naar decimaal getal

  2. MacOSX:mysql automatisch starten bij opstarten

  3. Detecteren of een waarde ten minste één numeriek cijfer bevat in MySQL

  4. Hoe selecteer je alleen de eerste rijen voor elke unieke waarde van een kolom?