MySQL 5.5が5.1より遅い理由(Linux、MySQLSlapを使用)
質問
my.cnf(5.5と5.1は同じです):
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
なぜ5.1より遅いmysql 5.5?
ところで:私は試しました mysql5.5/bin/mysqlslap
と mysql5.1/bin/mysqlslap
、結果は同じです
解決
これは驚くべきことになるかもしれませんが、MySQL 5.1は特定の状況下でMySQL 5.5を上回る可能性があります。
Perconaは、MySQLの複数のリリースの中でベイクオフを行いました
- mysql 4.1
- mysql 5.0
- mysql 5.1(内蔵innodbを含む)
- Innodb-Pluginを使用したmysql 5.1
- mysql 5.5
- mysql 5.6
すべてのテストは、MySQLが構成されていない(つまり、my.cnfが作成されていない)で実行されました。結果?
- MySQL 4.1は、最高のシングルスレッドを実行します
- MySQL 5.1は、5.1 INNODBビルド、5.5および5.6よりも優れた複数のコア上のInnoDBプラグインスケールを備えています
MySQLの新しいバージョンがパフォーマンスを向上させる場合は、チューニングする必要があります。実際には、 私はDBA stackexchangeでmysql bakeoffを実行するというアイデアを説明しました.
私はそれのためにチューニングとはどういう意味ですか?
MySQL 5.5には、より専用の読み取りスレッド、書き込みスレッド、および全体的なI/O容量を利用するための新しいINNODBオプションがあります。これにより、マルチコアサーバーでより多くのCPUを関与させることができます。存在しないまま、MySQL 5.5は、ほとんどの場合、MySQLの古いバージョンと同じレベルの競技場で動作します。時々、それはより悪化する可能性があります。
所属していません dba.stackexchange