sql >> Database >  >> RDS >> Mysql

Verbindingspoolstrategie:goed, slecht of lelijk?

Uw originele ontwerp is gebaseerd op degelijke principes. Als het jouw zaak helpt, staat deze strategie bekend als horizontale partitionering of sharding . Het biedt:

1) Grotere schaalbaarheid - omdat elke shard indien nodig op afzonderlijke hardware kan leven.

2) Grotere beschikbaarheid - omdat het falen van een enkele shard geen invloed heeft op de andere shards

3) Betere prestaties - omdat de tabellen die worden doorzocht minder rijen hebben en dus kleinere indexen, wat snellere zoekopdrachten oplevert.

De suggestie van je collega brengt je naar een single point of failure setup.

Wat betreft uw vraag over 3 verbindingspools van maat 10 versus 1 verbindingspool van maat 30, de beste manier om dat debat op te lossen is met een benchmark. Configureer uw app op elke manier, doe vervolgens wat stresstests met ab (Apache Benchmark) en kijk welke manier beter presteert. Ik vermoed dat er geen significant verschil zal zijn, maar doe de benchmark om het te bewijzen.



  1. INSERT IGNORE met behulp van Laravel's Fluent

  2. SOM van MySQL voor elke n record

  3. Tablesample en andere methoden om willekeurige tuples te krijgen

  4. Wat is de beste manier om sessies voor een PHP-site op meerdere hosts af te handelen?