Submit Search
MySQL5.6と5.7性能比較
•
27 likes
•
27,768 views
H
hiroi10
Follow
MyNA会 2015年4月 LT資料
Read less
Read more
1 of 28
More Related Content
MySQL5.6と5.7性能比較
1.
MySQL5.6、5.7 性能比較 MyNA会 2015年4月 2015/04/22
2.
誰 ❖ いとう ひろゆき ❖
サーバ運用/保守が仕事 ❖ ネットワークからOS、ミドルウェアまでアプリケーシ ョン以外はなんでも面倒を見ないといけない(程度の差 はあります) ❖ MySQL好き。酒好き。
3.
比較内容 ❖ 秒間接続数 ❖ sysbenchのpoint
selectとoltp (全部メモリに載るデータ 量) ❖ tpcc-mysql (i/oバウンド warehouse 1000) ❖ tpcc-mysql以外は3回実行した平均値 ❖ 更新が行われるベンチマークはバイナリログ有効
4.
ベンチマーク環境
5.
❖ ベンチマークサーバ ❖ HP
DL360p G8v2 ❖ CPU Intel Xeon E5-2643 v2 @ 3.50GHz (1CPU = 6Core) ❖ MEM 8GB x 4 = 32GB (DDR3 1866 MHz) ❖ ioDrive2 785GB ❖ Driver version: 3.2.6 build 1212, Firmware v7.1.15, rev 110356 Public ❖ NIC Intel I350 ❖ OS CentOS 6.6(2.6.32-504.12.2.el6.x86_64) ❖ ベンチマーククライアント ❖ HP DL360 G7 ❖ CPU Intel Xeon L5640 @ 2.27GHz (2CPU = 6Core x 2) ❖ MEM 4GB x 12 = 48GB (DDR3 1333 MHz) ❖ NIC Broadcom NetXtreme II BCM5709 ❖ OS CentOS 5.9(2.6.18-348.16.1.el5)
6.
❖ MySQLバージョン(rpm版使用) ❖ 5.7.7
RC 及び 5.6.24 ❖ ベンチマークツール ❖ sysbench 0.4.12 ❖ sysbench 0.5 ❖ tpcc mysql ❖ ファイルシステム(ioDrive2) ❖ ext4 (マウントオプション defaults,discard,noauto) ❖ nobarrierはお好みでどうぞ(ベンチスコア的には差がほぼ出ない)
7.
❖ MySQLの設定について ❖ サバフェスの設定がベースでバイナリログ有効 ❖
sync_binlog = 1 ❖ master_info_repository = TABLE ❖ jemallocをmalloc-libで指定
8.
❖ グラフの補足 ❖ p_s
ON DEFはperformance_schema = ONでsetup_instruments テーブルはMySQL起動時からそのまま ❖ p_s ON ALL NOはperformance_schema = ONで setup_intrumentsテーブルのENABLEDが全部NO ❖ p_s OFFはperformance_schema = OFF
9.
秒間接続数
10.
❖ 使用ツールはsysbench 0.4.12 ❖
ソースいじって接続/切断のみ行う(sb_oltp.cの変更) ❖ 5.7のread only transactionによる影響を避けるため ❖ 実行コマンド (いくつかのオプションは意味なし) /usr/local/sysbench-0.4.12-conn/bin/sysbench --test=oltp --oltp-table-size=4500000 --max-requests=10000000 --mysql-table-engine=innodb --db-ps-mode=disable --mysql-engine-trx=yes --oltp-read-only --oltp-skip-trx --oltp-dist-type=special --oltp-connect-delay=0 --oltp-reconnect-mode=query --db-driver=mysql --mysql-user=sbtest --mysql-password=sbtest-pw --mysql-db=sbtest --mysql-host=192.168.1.201 --mysql-port=3306 --num-threads=100 run
11.
p_s ON DEF
p_s ON ALL NO p_s OFF 5.7.7 rc 65736.14 69510.64 70812.38 5.6.24 45844.23 46250.22 54732.32 65736.14 69510.64 70812.38 45844.23 46250.22 54732.32 0.00 10000.00 20000.00 30000.00 40000.00 50000.00 60000.00 70000.00 80000.00 connection/sec
12.
結果 ❖ 5.6と比較して5.7は1.29倍に向上 ❖ performance_schemaが有効でも性能低下が小さくなっ た ❖
Another reason to disable performance schema と5.6の 頃は言われてたけどperformance schemaを有効にして も十分に性能が出るように ❖ http://yoshinorimatsunobu.blogspot.jp/2013/08/another- reason-to-disable-performance.html
13.
sysbenchのpoint selectとoltp
14.
❖ 使用ツールはsysbench 0.5 ❖
innodb_adaptive_hash_index(AHI)のon/offでも取得 ❖ 実行コマンド (--oltp-read-onlyのon/offで切り替え) /usr/local/sysbench/bin/sysbench --test=/usr/local/sysbench/lua/{select.lua,oltp.lua} --rand-init=on --db-driver=mysql --oltp-table-size=3000000 --rand-type=uniform --oltp-read-only=on --oltp-tables-count=16 --oltp_range_size=10 --mysql-host=192.168.1.201 --mysql-db=sbtest5 --mysql-user=sbtest --mysql-password=sbtest-pw --max-time=60 --max-requests=0 --num-threads=$thread run
15.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 93230.57 134177.31 155719.92 154230.98 152003.94 142739.32 134340.30 133880.94 5.7.7 RC AHI ON 87251.97 137263.40 161623.94 160893.68 158637.70 150716.10 140546.41 139165.31 5.6.24 AHI OFF 97616.61 144368.07 168376.69 167154.31 165216.11 162568.52 158373.95 153905.08 5.6.24 AHI ON 100025.28 145748.47 172930.27 171950.26 170353.84 167765.84 162946.05 159623.20 0.00 20000.00 40000.00 60000.00 80000.00 100000.00 120000.00 140000.00 160000.00 180000.00 200000.00 point select/sec(p_s OFF, AHI OFF/ON)
16.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 92086.55 130876.14 153566.93 152308.99 149976.94 141061.57 132981.85 132406.67 5.7.7 RC AHI ON 91214.45 133418.87 158803.59 158084.53 156000.35 147968.10 138302.29 137188.81 5.6.24 AHI OFF 95474.05 142081.07 165413.99 163975.11 162374.72 159555.46 155139.21 152374.50 5.6.24 AHI ON 94232.55 143946.65 170104.02 168966.97 167369.97 164885.78 161088.61 156426.85 0.00 20000.00 40000.00 60000.00 80000.00 100000.00 120000.00 140000.00 160000.00 180000.00 200000.00 point select/sec(p_s ON ALL NO, AHI OFF/ON)
17.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 4764.07 6833.42 8172.77 8259.21 8124.87 7742.40 7383.91 7346.33 5.7.7 RC AHI ON 4807.67 6934.68 8379.94 8539.08 8416.65 8089.83 7687.28 7822.40 5.6.24 AHI OFF 5037.95 7280.28 8935.29 9160.34 9023.46 8611.28 8020.99 7671.76 5.6.24 AHI ON 5097.87 7283.62 8955.68 9249.72 9126.06 8796.68 8235.72 7836.46 0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00 8000.00 9000.00 10000.00 oltp read only(p_s OFF, AHI OFF/ON)
18.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 4782.36 6928.01 8069.38 8162.27 8042.56 7651.16 7303.08 7261.21 5.7.7 RC AHI ON 4633.42 6924.78 8207.64 8324.11 8225.11 7958.90 7742.86 7676.04 5.6.24 AHI OFF 5000.51 7329.14 8773.49 8993.02 8836.51 8452.61 7866.79 7580.31 5.6.24 AHI ON 4715.48 7127.48 8851.58 9055.14 8935.24 8612.84 8124.00 7717.21 0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00 8000.00 9000.00 10000.00 oltp read only(p_s ON ALL NO AHI OFF/ON)
19.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 3312.25 4822.17 5612.62 5737.13 5744.13 5785.36 5820.95 5801.96 5.7.7 RC AHI ON 3203.87 4864.01 5696.03 5867.22 5858.92 5900.85 5937.38 5912.34 5.6.24 AHI OFF 3643.40 5086.16 6066.08 6274.88 6310.38 6329.28 6277.22 5862.39 5.6.24 AHI ON 3578.94 5119.49 6147.50 6399.06 6415.58 6469.96 6429.96 6015.50 0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00 oltp read write(p_s OFF, AHI OFF/ON)
20.
16 32 64
128 256 512 1024 2048 5.7.7 RC AHI OFF 3221.69 4766.49 5518.11 5636.35 5648.45 5698.23 5739.69 5721.01 5.7.7 RC AHI ON 3404.34 4854.30 5697.94 5830.58 5835.69 5864.50 5879.40 5810.05 5.6.24 AHI OFF 3462.21 5043.21 6005.48 6220.22 6203.31 6260.86 6214.00 5835.05 5.6.24 AHI ON 3444.42 5022.39 6046.22 6298.78 6308.85 6361.26 6320.70 5917.57 0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00 oltp read write(p_s ON ALL NO, AHI OFF/ON)
21.
結果 ❖ 5.7より5.6の方が良い結果に ❖ 5.7の方が良いというベンチ結果も見かけるのでコア数に よっては5.7が逆転するかもしれません。 ❖
5.6も5.7もperformance schemaの性能への影響は軽微 ❖ メモリ使用率の増加と秒間接続数の減少を許容出来るなら有 効にしてsetup_instruments のENABLEDを全部NOにするの もあり ❖ AHIは有効な方が性能は良い
22.
tpcc mysql
23.
❖ 使用ツールはtpcc mysql ❖
innodb_adaptive_hash_index(AHI)のon/offでも取得 ❖ warehouse数は1000、データ量は約84GB ❖ 実行コマンド ./tpcc_start -h 192.168.1.201 -d tpcc -u tpcc -p tpcc-pw -w 1000 -c 32 -r 0 -l 900 -i 60
24.
p_s OFF p_s
ON p_s OFF iblog 2G 5.7.7 RC AHI OFF 49567.20 49311.80 43501.87 5.7.7 RC AHI ON 46238.93 46712.73 41631.40 5.6.24 AHI OFF 44180.40 44046.87 37641.67 5.6.24 AHI ON 41281.13 41748.27 35582.67 49567.20 49311.80 43501.87 46238.93 46712.73 41631.40 44180.40 44046.87 37641.67 41281.13 41748.27 35582.67 0.00 10000.00 20000.00 30000.00 40000.00 50000.00 60000.00 tpcc mysql
25.
結果 ❖ 5.6より5.7の方が1.12倍程良い結果に ❖ 全てバッファに載る時と異なりAHIは無効な方がスコア 上昇 ❖
5.6の設定をほぼそのまま流用しているので5.7で挙動の 変わったinnodb_io_capacityや追加された innodb_page_cleanersを調整したりするともっと性能向 上するかも
26.
まとめ ❖ 秒間接続数については5.6と比較し5.7でかなり良くな り、performance schemaが有効であっても性能低下が 大幅減少 ❖
全てのデータ・インデックスがバッファに載る環境下で は1CPU6Core12Threadだと5.6の方が優勢 ❖ i/oヘビーな状態では5.7が優勢でAHIはOFFの方が優勢
27.
今後やりたい事 ❖ 2CPU12Core24Threadの場合に傾向が変わるか試した い ❖ LinkBenchも試してみたい ❖
5.7でtpcc mysqlのスコアがどこまで伸ばせるか試してみ たい
28.
おわり