Performanceverlust durch Synchronisation
am 10.12.2005 17:29:45 von Stefan Schulz
Hallo,
auf einer Dual-Core Maschine habe ich eine Datenbank mit ca. 1.000.000
Datensätzen, die von ca. 90 Anwendern bearbeitet werden. Dabei gibt es pro
Sekunde mehrere Datenbankänderungen durch den parallelen Zugriff aller
Anwender.
Der Server hat im Schnitt eine Prozessorauslastung von ca. 50-60%.
Die DB auf diesem Rechner würde ich gerne zur Sicherheit auf einem anderen
Rechner replizieren.
Wie stark wird etwa die zusätzliche Prozessorlast auf dem Server(Master) und
auf dem Slave sein, wenn ich die Datenbank jetzt repliziere?
Schon einmal vielen Dank
Stefan
Re: Performanceverlust durch Synchronisation
am 11.12.2005 00:21:40 von Axel Schwenke
"Stefan Schulz" wrote:
>
> auf einer Dual-Core Maschine habe ich eine Datenbank mit ca. 1.000.000
> Datensätzen, die von ca. 90 Anwendern bearbeitet werden. Dabei gibt es pro
> Sekunde mehrere Datenbankänderungen durch den parallelen Zugriff aller
> Anwender.
> Der Server hat im Schnitt eine Prozessorauslastung von ca. 50-60%.
Interessant wäre in diesem Zusammenhang noch, wie sich die Last auf
Lese- bzw. Schreibzugriffe verteilt. Viele Datenbanken sind read-
mostly, es gibt aber auch krasse Gegenbeispiele.
> Wie stark wird etwa die zusätzliche Prozessorlast auf dem Server(Master) und
> auf dem Slave sein, wenn ich die Datenbank jetzt repliziere?
Um ehrlich zu sein, habe ich noch nie versucht, das einzeln zu
erfassen. Prinzipiell ist die Replikation recht leichtgewichtig, der
Master protokolliert halt jedes SQL-Statement, das Daten verändert,
im Binlog. Außerdem streamt der Master das Binlog zu dem[n] Slave[s].
Also im Vergleich zu dem, was ein typisches DML-Statement sonst so
macht (Re-Indizierung, Fragment-Verwaltung), eher unaufwendig.
Der Slave macht natürlich alle DML-Statements die der Master auch
gemacht hat. Allerdings streng serialisiert. Deswegen kann es gerade
bei einem Master mit vielen CPUs dazu kommen, daß ein gleich dicker
Slave nicht mitkommt. Aber bei nur 2 CPUs auf dem Master und vermutlich
wenig Schreiblast (10 TX pro Sekunde?) ist da keine Gefahr.
XL