Wie führe ich ein MySQL-Bake-Off richtig durch?

27

Ich möchte die Geschwindigkeit des MySQL-Servers (auch bekannt als Bake-Off) gegen einige andere Gabeln wie den Percona-Server, MariaDB und möglicherweise andere testen. Wenn ich diese Frage stelle, hoffe ich, dass ich die Methode zur Einrichtung eines ordnungsgemäßen Leistungstests besser verstehen kann. Ich hatte vor, mit sysbench meinen eigentlichen Test durchzuführen, bin aber für alles offen.

  1. Welche Schritte muss ich unternehmen, um sicherzustellen, dass der Test zu einem Apfel-zu-Apfel-Vergleich führt und dass nur das RDBMS die Variante ist?
  2. Wo fange ich an?
  3. Wie bewerte ich die Ergebnisse?
  4. Welchen Rat kannst du mir geben?
randomx
quelle
1
Randy möchte vielleicht die Ergebnisse von MariaDB 5.2 gegen Percona 5.1 / 55 gegen MySQL 5.0 / 5.1 / 5.5 sysbench unter vbtechsupport.com/606 und vbtechsupport.com/657 nachlesen .
p4guru

Antworten:

14

Hier ist das erste, woran ich dachte

  1. Richten Sie 3 DB-Server (identische HW / OS-Konfigurationen) ein, auf denen jeweils installiert ist

    • MySQL
    • Percona
    • MariaDB
  2. Holen Sie sich einen vierten Server mit MONyog installiert (Testversion dauert 30 Tage)

  3. Registrieren Sie die 3 DB-Server in MONyog

  4. Verwenden Sie die Leistungsmetrikdiagramme in MONyog oder richten Sie Ihre eigenen Diagramme in MONyog ein

  5. Verwenden Sie SysBench nach eigenem Ermessen für alle 3 DB-Server

Dies ist nur eine Grundskizze. Glauben Sie mir, Sie können Monyog sofort verwenden . Schauen Sie sich mein Testimonial auf der Website von MonYog an (meinen Namen finden Sie auf der Seite). Ich habe meine Firma schließlich davon überzeugt, die Utlimate-Version direkt nach meinem Testimonial zu kaufen, das sie mit mir beobachteten, als es passierte.

Vorsichtsmaßnahme: Holen Sie sich Monyog erst, wenn Sie über die 3 DB-Server und Sysbench verfügen, um die beste 30-Tage-Nutzung von MonYog zu erzielen.

UPDATE 2011-06-20 13:18 EDT

Wenn Sie den InnoDB- Pufferpool klein halten (Standard für innodb_buffer_pool_size ist 8M) und die Binärprotokolle deaktiviert lassen ( log-bin nicht in my.cnf einschließen), sollten diese Metriken gemessen werden

Viele davon sind Standarddiagramme im MONyog-Abschnitt "Monitore / Berater". Sie können weitere Diagramme erstellen, um andere gewünschte MySQL-Metriken zu überprüfen . Mit MONyog können Sie die Diagramme auch als CSV-Daten exportieren.

UPDATE 2011-10-12 14:17 EDT

Percona führte ein Back-off unter mehreren Releases von MySQL durch

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (mit integrierter InnoDB)
  • MySQL 5.1 mit InnoDB-Plugin
  • MySQL 5.5
  • MySQL 5.6

Alle Tests wurden mit nicht konfiguriertem MySQL durchgeführt. Die Ergebnisse?

  • MySQL 4.1 bietet die beste Single-Thread-Leistung
  • MySQL 5.1 mit InnoDB-Plug-In skaliert auf mehreren Kernen besser als 5.1 InnoDB, 5.5 und 5.6

Was habe ich davon? Sie müssen MySQL 5.5 / 5.6 konfigurieren, um Multicore-Verbesserungen zu erhalten .

RolandoMySQLDBA
quelle
Was ist mit der Dokumentations- und Analyseseite? Welche Metriken sind wichtig?
Randomx
7

Dies sollte für Sie sehr hilfreich sein, da dies der defacto-Branchen-Benchmark für Datenbanken ist, TPC-C, http://www.tpc.org/tpcc/spec/tpcc_current.pdf

Auch wenn Sie diesen Benchmark nicht verwenden, sollten Sie anhand der im Testspezifikationsdokument enthaltenen Informationen einen umfassenden Einblick in die Einrichtung eines eigenen Benchmarks zum Testen Ihrer Datenbankoptionen erhalten.

James Pulley
quelle
2
Percona hat eine Implementierung von tpcc für MySQL-Varianten; code.launchpad.net/~percona-dev/perconatools/tpcc-mysql
Sean McMillan
Sehr nützlich Sean: Vielen Dank, dass Sie diesen Thread mit der Percona-Referenz aktualisiert haben
James Pulley,