php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Performancesteigerung durch Aufteilung in Webserver und Datenbankserver?


 
McMuh
13-11-2007, 15:59 
 
Moin Leute,

eine ganz allgemeine Frage: Steigert es die Performance, wenn man einen Server, auf dem mysql und apache (mit php) installiert ist, aufteilt in einen seperaten mysql und einen apache server? Ich denke da vor allem an ziemlich ausgelasteten Servern mit vielen verschiedenen Homepages und seperaten Datenbanken.

Meine Gedanken dazu sind:
Einerseits ja, weil jeder sich um sein eigenes Kerngebiet kümmern kann, ...

andererseits nein, weil neue Latenzzeiten zwischen den beiden Servern auftreten.


Was meint ihr? hat dan jemand erfahrung sammeln können?

Gruß,
MuH

 
TobiaZ
13-11-2007, 16:04 
 
eine ganz allgemeine Frage: ist leider zu allgemein um sie pauschal zu beantworten. ;)

Ich denke da vor allem an ziemlich ausgelasteten Servern mit vielen verschiedenen Homepages und seperaten Datenbanken. Wenns sich um mehrer kleiner Websites handelt, möchte ich mal behaupten, dass es mehr Sinn macht, die Präsenzen auf die beiden Server aufzuteilen.

 
McMuh
13-11-2007, 16:07 
 
Hi,
danke für deine Antwort. Jap, es geht hauptsächlich um viele kleinere Präsenzen, von denen auch nicht alle eine DB haben.

Aber auch für größere Shopsysteme sollte es doch sinn machen, oder?

 
pekka
13-11-2007, 16:57 
 
Ich hab keine große Praxiserfahrung mit mehrserver-Lösungen, aber der gesunde Menschenverstand sagt:
Wenn ein Server dauerhaft so massiv sowohl mit Web- und Datenbankrequests belastet wird, daß seine Auslastung dem Limit zugeht, lohnt es sich, die aufzuteilen. Wenn der Server einseitig mit einem von Beidem ausgelastet ist, sollte man eher, wie TobiaZ über eine Aufteilung der Websites (mit jeweils lokaler DB) nachdenken.

Wann das der Fall ist, muß man individuell anschauen und abschätzen. Einfach auf Verdacht würde ich das nicht machen, schon wegen der Kosten. Und dann gilt noch zu klären, wie gut der Datenverkehr zwischen den 2 Servern läuft - ein schlecht angebundener eigener Datenbankserver kann schlechtere Ergebnisse bringen als ein lokaler stark ausgelasteter. Und vorher klären, ob Rechenzentrums-interner Traffic kostenlos ist, das ist nämlich nicht selbstverständlich.

 
DrWeb
20-11-2007, 18:23 
 
Wenn Mysql auf server(1) zu viel braucht würde ich die mysql db auf einen gesternen server(2) legen aber dadrauf achten das sie im selben Rechenzentrum stehen, besser wäre noch ein direkte verbindung zwischen den servern.

Oder Die daten von server(1) clonen und auf server(2) immer uptodate halten und die besucher auf die server verteilen;)

 
unset
20-11-2007, 18:29 
 
Wenn du so viel Datenbanklast erzeugst, dass du deinen Server bis ans Limit pushst, dann solltest du ihn, wie vorgeschlagen, tatsächlich auslagern. Wichtig ist hier nur, und das wurde auch schon angepsrochen, dass die Server problemlos Untereinander kommunizieren können. Das klappt natürlich am besten wenn sie im selben Rack im Rechenzentrum sind. Gibt aber auch Anwendungen, wo alles andere der Fall ist ;)

Spätestens wenn du Clustern musst, kommst du um getrennte Systeme nicht herum. Ich kenne sogar Leute, die gehen so weit, jedem Dienst einen eigenen Physikalischen Server zu geben ;)

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:20 Uhr.