Mysql + Apache auf einem oder 2 Server?

baeckerman83

Registered User
Hiho!
Was ist performance technisch besser, wenn man die Datenbank und Apache auf zwei verschiedenen Servern laufen hat, oder auf dem gleichen?
Wenn beides getrennte Server sind müssen die Daten ja noch übertragen werden. Dafür hat jeder Server für sich genau Speicher für seine Aufgaben. Meine Datenbank speichert Minütlich eine große Menge Daten und bereitet diese stündlich für die Anzeige auf. Jetzt überlege ich das System zu optimieren. Entweder einen größeren Server, oder halt zwei die nicht ganz so groß sind.
Was denkt ihr? Wie würdet ihr das machen?
 
Je nach Form der Aufbereitung und den notwendigen Datenbank-Interaktionen von Seiten des Frontend wäre es eventuell sinnvoll Datenbank + Berechnung auf einen Server zu legen und einen Replication Slave auf den anderen. Sollten im Frontend Aenderungen an der Datenbank vorgenommen werden, so ist mysql-proxy (leider ausschliesslich TCP-basierend) eine gute Wahl um SELECT von UPDATE/INSERT zu trennen.

Du hast Recht dass TCP-Verbindungen bedeutend "teurer" sind als UNIX-Sockets welche in aller Regel lokal verwendet werden, dass das ganze dann noch ueber die Netzwerkkarte (Interrupts, ...) muss verbessert die Leistung auch nicht. Ich persönlich ziehe es bei "normalen" Anwendungsfällen vor die Datenbank lokal zu halten, viele Anbieter trennen dies aber aus Performancegruenden (mehr Cache fuer Mysql, SSD-Festplatten, dedizierte CPU-Zeit, ...)
 
Last edited by a moderator:
Danke für deine Antwort.
Updates / Inserts in die Datenbank werden nur per Script gemacht. Die Webseiten haben nur lesenden Zugriff auf die Datenbank. Das mit dem Replication Slave ist eine Idee über die ich mal nachdenke.
 
Back
Top