Hallo allemaal,
We hebben een probleem met onze database server. Nou hebben we al meerdere mensen om advies gevraagd, maar dit levert zoveel informatie op dat we zelf niet meer weten wat nou echt het beste is. Schriftelijk is natuurlijk altijd makkelijker opsommen dan dat je steeds wat hoort van iemand.
De situatie:
We draaien op dit moment een cluster van 3 webservers, waarvan 1 server het loadbalancing voor z'n rekening neemt. De configuratie van deze servers lijkt me niet interessant voor dit topic, aangezien het probleem op dit moment bij de database ligt.
De database server is een Opteron systeem met 2 Opteron 270 dualcore processoren en 8GB geheugen. De opslag word geregeld door 3 WD Raptor schijven van 36GB in RAID 5. Hier draaien we CentOS 4.4 op met MySQL 5.
Statistieken
DB grootte: 1,2GB - 820,5MB data en 453,3MB indexen
Dataverkeer (db-server) 3GB per uur gemiddeld (verzenden + ontvangen)
796,69Qps gemiddeld - piek is ongeveer 1200Qps
15,5 Miljoen rijen, verdeeld over 109 tabellen
50% van de queries is SELECT overig is UPDATE/DELETE/etc.
Het probleem:
De database server heeft het moeilijk bij een groot aantal gebruikers die online zijn op hetzelfde tijdstip. De load is dan 14 tot 30 en dit is natuurlijk niet acceptabel. Echter zien we ook dat de server toch nog niet aan zijn max zit wat betreft CPU en geheugen. De cpu's zijn maximaal voor 70% belast (per cpu) en ook is er meer dan 50% van het geheugen vrij. De caches in mysql zijn zo ingesteld dat ze volledig gebruik maken van het geheugen. Ook het traject van queries optimaliseren hebben al achter de rug.
We hebben zelf het vermoeden dat de IO capaciteit niet voldoende is. In onze huidige server zijn uitbreidingsmogelijkheden vrijwel uitgesloten.
De oplossing:
Een goede oplossing vinden is niet gemakkelijk. We hebben al verschillende oplossingen bekeken:
- SAN/NAS/DAS oplossing.
- Compleet nieuwe server aanschaffen met snelle (fiber channel?) interne storage.
Bij alleen een externe storage met meer IOps lopen we de kans dat we de server alsnog moeten upgraden als de rest van de configuratie voldoet aan de eisen. Dat zien we dus niet zo zitten omdat het ook best duur is.
Bij een nieuwe server willen we wel de mogelijkheid om uit te breiden dus hebben we een systeem met 8 sockets in gedachten. Of het AMD of Intel word maakt ons niet zoveel uit, we moeten gewoon de best mogelijke configuratie hebben die ook in de toekomst nog voldoet.
De vraag:
Wat is beste configuratie voor een MySQL 5 database server binnen een budget van 10 tot 15 duizend euro die voldoet aan onze eisen?
Alvast bedankt voor de reacties! We hopen op deze manier een goede keuze te kunnen maken wat betreft aanschaf van de server.
We hebben een probleem met onze database server. Nou hebben we al meerdere mensen om advies gevraagd, maar dit levert zoveel informatie op dat we zelf niet meer weten wat nou echt het beste is. Schriftelijk is natuurlijk altijd makkelijker opsommen dan dat je steeds wat hoort van iemand.
De situatie:
We draaien op dit moment een cluster van 3 webservers, waarvan 1 server het loadbalancing voor z'n rekening neemt. De configuratie van deze servers lijkt me niet interessant voor dit topic, aangezien het probleem op dit moment bij de database ligt.
De database server is een Opteron systeem met 2 Opteron 270 dualcore processoren en 8GB geheugen. De opslag word geregeld door 3 WD Raptor schijven van 36GB in RAID 5. Hier draaien we CentOS 4.4 op met MySQL 5.
Statistieken
DB grootte: 1,2GB - 820,5MB data en 453,3MB indexen
Dataverkeer (db-server) 3GB per uur gemiddeld (verzenden + ontvangen)
796,69Qps gemiddeld - piek is ongeveer 1200Qps
15,5 Miljoen rijen, verdeeld over 109 tabellen
50% van de queries is SELECT overig is UPDATE/DELETE/etc.
Het probleem:
De database server heeft het moeilijk bij een groot aantal gebruikers die online zijn op hetzelfde tijdstip. De load is dan 14 tot 30 en dit is natuurlijk niet acceptabel. Echter zien we ook dat de server toch nog niet aan zijn max zit wat betreft CPU en geheugen. De cpu's zijn maximaal voor 70% belast (per cpu) en ook is er meer dan 50% van het geheugen vrij. De caches in mysql zijn zo ingesteld dat ze volledig gebruik maken van het geheugen. Ook het traject van queries optimaliseren hebben al achter de rug.
We hebben zelf het vermoeden dat de IO capaciteit niet voldoende is. In onze huidige server zijn uitbreidingsmogelijkheden vrijwel uitgesloten.
De oplossing:
Een goede oplossing vinden is niet gemakkelijk. We hebben al verschillende oplossingen bekeken:
- SAN/NAS/DAS oplossing.
- Compleet nieuwe server aanschaffen met snelle (fiber channel?) interne storage.
Bij alleen een externe storage met meer IOps lopen we de kans dat we de server alsnog moeten upgraden als de rest van de configuratie voldoet aan de eisen. Dat zien we dus niet zo zitten omdat het ook best duur is.
Bij een nieuwe server willen we wel de mogelijkheid om uit te breiden dus hebben we een systeem met 8 sockets in gedachten. Of het AMD of Intel word maakt ons niet zoveel uit, we moeten gewoon de best mogelijke configuratie hebben die ook in de toekomst nog voldoet.
De vraag:
Wat is beste configuratie voor een MySQL 5 database server binnen een budget van 10 tot 15 duizend euro die voldoet aan onze eisen?
Alvast bedankt voor de reacties! We hopen op deze manier een goede keuze te kunnen maken wat betreft aanschaf van de server.
