Benutzer-Werkzeuge

Webseiten-Werkzeuge


mysql_-_benchmark

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mysql_-_benchmark [2022-02-23 10:36:34] – [mit vielen kleinen INSERTs] manfredmysql_-_benchmark [2022-08-09 13:20:59] (aktuell) – [sysbench] manfred
Zeile 1: Zeile 1:
 ====== MySQL - Benchmark ====== ====== MySQL - Benchmark ======
 +
 +siehe auch:
 +  * [[::MySQL - Benchmark]]
 +  * [[::MySQL-Lasttest]]
 +  * [[::MySQL Tuning]]
 +
 +
 +===== wie skaliert MySQL/MariaDB über mehrere CPU-Kerne =====
 +
 +Aktuelle [[https://dodwell.us/mysql-tuning.html|Infos]] findet man darüber fast nur zu MySQL und diese besagen, dass MySQL vor Version 5.5 nur bis 4-8 CPU-Kerne schneller wurde.
 +Die Version 5.5 soll schon bis ca. 32 Kerne an Leistung gewonnen haben und dann zumindest gleichbleibende Leistung aufgewiesen haben (Plateau-Bildung).
 +Mit der Version 5.6 soll MySQL bis zu 48 Kernen an Leistung gewinnen.
 +Es ist anzunehmen, dass spätere Versionen diese Fähigkeit weiter ausbauen...
 +
 +Da es eine gewisse Beziehung [[https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/|Drop-in Compatibility]] zwischen MySQL und MariaDB gibt:
 +  * MySQL 5.1 -> MariaDB 5.1
 +  * MySQL 5.1 -> MariaDB 5.2
 +  * MySQL 5.1 -> MariaDB 5.3
 +  * MySQL 5.5 -> MariaDB 5.5
 +  * MySQL 5.6 -> MariaDB 10.0
 +  * MySQL 5.6 -> MariaDB 10.1
 +  * MySQL 5.7 -> MariaDB 10.2
 +  * MySQL 5.7 -> MariaDB 10.3
 +  * MySQL 5.7 -> MariaDB 10.4
 +
 +...kann man die oben erwähnten Aussagen, über die MySQL-DB, auch auf die MariaDB anwenden.
 +
 +//Meine Tests mit "MariaDB 10.3" haben gezeigt, dass sie auch von Hyper-Threading profitiert, was oft ja anders geäußert wird.//
  
  
Zeile 6: Zeile 34:
 hiermit werden 10 Prozesse gestartet, von denen jeder 100000 Datensätze in eine Test-Tabelle schreibt: hiermit werden 10 Prozesse gestartet, von denen jeder 100000 Datensätze in eine Test-Tabelle schreibt:
   > ~/bin/MySQL-Test.sh localhost 3306 10 100000   > ~/bin/MySQL-Test.sh localhost 3306 10 100000
-  > watch -n1 'echo "SHOW PROCESSLIST;" | mysql -t'+  Es werden in 10 Tabellen jeweils 100000 Datensätze eingetragen. 
 +  Laufzeit: 28 Sekunden
  
 hiermit werden 100 Prozesse gestartet, von denen jeder 10000 Datensätze in eine Test-Tabelle schreibt: hiermit werden 100 Prozesse gestartet, von denen jeder 10000 Datensätze in eine Test-Tabelle schreibt:
   > ~/bin/MySQL-Test.sh localhost 3306 100 10000   > ~/bin/MySQL-Test.sh localhost 3306 100 10000
-  > watch -n1 'echo "SHOW PROCESSLIST;" | mysql -t' +  Es werden in 100 Tabellen jeweils 10000 Datensätze eingetragen. 
- +  Laufzeit: 22 Sekunden
-nach dem Start muß man in der PROCESSLIST nachsehen, wie lange die Prozesse laufen; +
-je schneller eine Kombination fertig ist, desto besser;+
  
 das ist nicht genau, aber es liefert Anhaltspunkte das ist nicht genau, aber es liefert Anhaltspunkte
Zeile 99: Zeile 126:
 ===== sysbench ===== ===== sysbench =====
  
-__Sysbench ist ungeeignet um die Leistung einer bestehenden Datenbank zu testen!__+__Sysbench ist nicht in jedem Fall geeignet um die Leistung einer bestehenden Datenbank zu testen!__ 
 + 
 +[[https://www.mortensi.com/2021/06/how-to-install-and-use-sysbench/|How to Install and Use Sysbench]] 
 +  sysbench oltp_read_write --table-size=1000000 --db-driver=mysql --mysql-host=<HOST> --mysql-db=<SCHEMA> --mysql-user=<USER> --mysql-password=<PASSWORD> prepare 
 +   
 +  sysbench oltp_read_write --table-size=1000000 --db-driver=mysql --mysql-host=<HOST> --mysql-db=<SCHEMA> --mysql-user=<USER> --mysql-password=<PASSWORD> --threads=2 --report-interval=3 --histogram --time=50 run
  
  
/home/http/wiki/data/attic/mysql_-_benchmark.1645612594.txt · Zuletzt geändert: von manfred