sql >> Database >  >> RDS >> Mysql

Ik ben in de war over gelijktijdige MySQL-verbindingen

20k gebruikers die een pagina op exact hetzelfde moment laden ? Dat is nogal veel -- en uw webserver zal waarschijnlijk zelf niet zoveel gelijktijdige verzoeken accepteren (Apache accepteert bijvoorbeeld over het algemeen slechts tussen 200 en 400 parallelle verzoeken) .

De verbindingslimiet is het maximale aantal gebruikers dat op hetzelfde moment verbinding kan maken met uw database -- als elke pagina 100 ms nodig heeft om te worden gegenereerd, zal één gebruiker slechts voor minder dan 100 ms verbonden zijn.
En als u verbinding maakt met uw database op het moment dat u uw eerste SQL-query moet uitvoeren, en onmiddellijk daarna de verbinding verbreekt uw laatste SQL-query, kan dit de tijd verkorten gedurende welke uw webserver is verbonden met de database.

Als u gebruikers inhoud van uw website laat lezen, kunt u overwegen dat ze:

  • Laad een pagina (misschien 100 ms op uw server)
  • Doe niets anders dan een paar minuten lezen (wat absoluut geen bronnen op uw server kost)


Als een kanttekening:een behoorlijk lange tijd voordat je 20k gelijktijdige verbindingen krijgt (wat neerkomt op ongeveer 20.000 verbindingen per seconde of zo!) , zult u waarschijnlijk te maken krijgen met verschillende schaalgerelateerde problemen...



  1. Hoe gebruiker in Superuser te veranderen in PostgreSQL

  2. Ik probeer een statische databaseklasse te bouwen waartoe ik toegang heb vanuit elke functie buiten de klasse

  3. Een MySQL SET maken van een string

  4. Aantal SQL(*) prestaties