Op zaterdag 29 juni 2002 13:31 schreef ACM het volgende:
[..]
Om hoeveel webservers gaat het?
En wat voor DB?
Op dit moment gaat het om 3 webservers welke alle naar 1 DB server connecten. Het probleem is dat de machine nu al te zwaar belast wordt en het grote aantal connecties ben ik ook niet zo blij mee.
Het gaat om 1 grote site met round robin.
Een aparte batch machine staat flink te updaten (inserts, deletes etc.) en het aantal webservers moet omhoog.
Vanaf de webservers komen ook updates maar de verhouding selects en updates is iets van 1:100 ofzo. 99% van de load op de DB server komt van de selects die komen van de webservers en batch machine.
De DB bestaat uit iets van 40 tables verdeeld over 3 databases. Hierop worden continue flink zware queries op losgelaten.
Want replicatie is altijd (een stuk?) slomer dan gewoon enkel een db gebruiken.
Hoe bedoel je dat dan?
De bedoeling is dus om de 'master' bijna niet te belasten door daar alleen alle updates naartoe te doen. Alle selects worden dan op de webservers gedaan (welke dus de 'slaves' zijn).
Op die manier heb ik alleen connects naar de lokale DB's en connecten de webservers alleen naar de master DB machine bij updates.
[..]
Ik geloof dat er altijd een kleine delay is, om de halve minuut synced ie oid.
Staat wel in de mysql handleiding gok ik.
Ik kan daar niets over vinden. Daarom stel ik de vraag ook hier in de hoop mensen te treffen die hier ervaring mee hebben. Ik zou niet weten hoe het werkt en kan er ook nergens iets over vinden.
Worden er op alle slaves weer gewone inserts, updates, delete's uitgevoerd? Of is hier een sneller/slimmer systeem aktief?
Kan ik zo'n master/slave setup gewoon als 1 grote virtuele DB zien met verschillende ingangen? Of moet ik wel degelijk rekening houden met het feit dat er momenten zijn dat de slave nog niet in sync is.
[..]
Zou ik niet vanuit gaan, tenzij in de handleiding expliciet staat dat het _wel_ zo is.
Euh.. dus je zegt dat ik ervan uit kan gaan dat de slaves altijd in sync zijn?
Als je geen echt goede reden hebt te repliceren, zou ik het zeker niet doen.
Die heb ik dus wel
Op een gegeven moment kun je niet meer verder groeien en moet je naar een andere aanpak. Ik kan nu wel van een dual Xeon naar een quad Xeon of zoiets, maar dat houdt op een gegeven moment ook weer op. En... de hoeveelheid connecties die er openstaan zijn ook niet echt gezond.
Op zich
lijkt het mij een prima oplossing. Gewoon de DB's op de localhosts laten draaien als slave. Iedere webserver kan dan lokaal al z'n selects lekker doen. Mijn vraag is dus of ik hiermee problemen kan verwachten met de synchronisatie. Als ik een select doe op een slave, krijg ik dan gegarandeerd de juiste waarde of kan het zijn dat de slave 'achterloopt' ten opzichte van de master?