MySQL skaliert unter FreeBSD 7.0 besser als unter Linux

Benchmarks des FreeBSD-Projekts haben gezeigt, dass MySQL unter FreeBSD 7.0 bei vielen Clients mehr Transaktionen pro Sekunde abwickeln kann als unter Linux. Mit Googles malloc()-Implementation holt Linux jedoch wieder auf.

In Pocket speichern vorlesen Druckansicht 222 Kommentare lesen
Lesezeit: 1 Min.

Vergleichende Benchmarks des FreeBSD-Projekts haben ergeben, dass MySQL unter FreeBSD 7.0 besser skaliert als unter Fedora Core 6. Jeff Roberson und Kris Kennaway stellten auf zwei Achtfach-Opteron-Systemen einen deutlichen Leistungseinbruch unter Linux fest, wenn er Datenbank-Benchmark SysBench mit mehr Client-Threads arbeitet als Prozessoren zur Verfügung stehen. Unter FreeBSD 7.0 hingegen blieb die Zahl der Transaktionen pro Sekunde nahezu unverändert hoch.

Was die FreeBSD-Entwickler als Erfolg ihrer Scheduler-Verbesserungen verbuchen, scheint laut Anton Blanchard, Maintainer der 64-Bit-PPC-Erweiterung des Linux-Kernels, in Wirklichkeit ein Skalierungsproblem der Speicherreservierungsfunktion malloc() in der Linux-Standard-Bibliothek Glibc zu sein. Blanchert tauschte auf seinem Vierfach-PPC-System das Standard-Malloc gegen die Implementierung von Google aus und korrigierte einen fehlerhaften Scheduler-Aufruf des MySQL-Daemon. Damit verschwand auf seiner Maschine das vom FreeBSD-Projekt entdeckte Skalierungsproblem. Ein neuer Vergleich von FreeBSD 7.0 und Linux mit Google-Malloc steht noch aus. (mid)