Perché mysql 5.5 più lento di 5.1 (Linux, utilizzando mysqlslap)
Domanda
my.cnf (5.5 e 5.1 è lo stesso):
back_log=200
max_connections=512
max_connect_errors=999999
key_buffer=512M
max_allowed_packet=8M
table_cache=512
sort_buffer=8M
read_buffer_size=8M
thread_cache=8
thread_concurrency=4
myisam_sort_buffer_size=128M
interactive_timeout=28800
wait_timeout=7200
mysql 5.5:
..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000
--iterations=5 -S /tmp/mysql_5.5.sock --engine=innodb
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 15.156 seconds
Minimum number of seconds to run all queries: 15.031 seconds
Maximum number of seconds to run all queries: 15.296 seconds
Number of clients running queries: 10
Average number of queries per client: 500
mysql5.1:
..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000
--iterations=5 -S /tmp/mysql_5.1.sock --engine=innodb
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 13.252 seconds
Minimum number of seconds to run all queries: 13.019 seconds
Maximum number of seconds to run all queries: 13.480 seconds
Number of clients running queries: 10
Average number of queries per client: 500
Perché mysql 5,5 più lento di 5,1?
A proposito: mysql5.5/bin/mysqlslap
sto provato e mysql5.1/bin/mysqlslap
, risultato è lo stesso
Soluzione
E 'possibile trovare questo sorprendente, ma MySQL 5.1 può superare MySQL 5.5 in determinate circostanze.
Percona eseguito un bake-off tra più versioni di MySQL
- MySQL 4.1
- MySQL 5.0
- MySQL 5.1 (con built-in InnoDB)
- MySQL 5.1 con InnoDB-plugin
- MySQL 5.5
- MySQL 5.6
Tutti i test sono stati eseguiti con MySQL non configurato (in altre parole, non è stato dato my.cnf). I risultati?
- MySQL 4.1 esegue il best-threaded singolo
- MySQL 5.1 con InnoDB plug-in scale su più core migliore di 5,1 InnoDB costruito, 5.5 e 5.6
Se volete versioni più recenti di MySQL per un rendimento migliore, è necessario mettere a punto per esso. Infatti, ho descritto nel DBA StackExchange l'idea di realizzare un MySQL Bakeoff .
Che cosa devo sintonizzare media per questo?
In MySQL 5.5, ci sono nuove opzioni di InnoDB per utilizzare le discussioni Leggere di più dedicati, fili di scrittura, e in generale la capacità di I / O. Questo può impegnarsi in più CPU multicore server. Sinistra non configurata, MySQL 5.5 opererebbe sullo stesso piano di parità, nella maggior parte dei casi, come le vecchie versioni di MySQL. A volte, si potrebbe svolgere peggio.