Successfully reported this slideshow.
Your SlideShare is downloading. ×

MySQL5.7とMariaDB10.1の性能比較(簡易)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 35 Ad
Advertisement

More Related Content

Advertisement

Recently uploaded (20)

Advertisement

MySQL5.7とMariaDB10.1の性能比較(簡易)

  1. 1. MySQL5.7とMariaDB10.1の 性能比較(簡易) MySQL Casual Talks Vol.8 (2015/11/20)
  2. 2. 自己紹介 • いとう ひろゆき • サーバ運用・保守が仕事 • MySQL好き、酒好き • (最近ベンチマークおじさん言われる)
  3. 3. 最初に
  4. 4. • http://dimitrik.free.fr/blog/archives/ 2015/11/mysql-performance-1m-qps-on- mixed-oltp_ro-with-mysql-57-ga.html
  5. 5. • https://blog.mariadb.org/maria-10-1- mysql-5-7-commodity-hardware/
  6. 6. • https://blog.mariadb.org/maria-10-1- mysql-5-7-commodity-hardware/
  7. 7. • https://blog.mariadb.org/maria-10-1- mysql-5-7-commodity-hardware/ !?
  8. 8. Commodity Hardware? • 2CPUぐらいまでOKっぽい • 自分の観測範囲としてはDB専用サーバなら割 と多い感じ • 4CPU? 知らない子ですね
  9. 9. ということで ベンチマーク 環境
  10. 10. • MySQL 5.7.9 and MariaDB10.1.8 • File System • PCI-E SSD: xfs (discard,nobarrier) • SAS HDD: ext4 (nobarrier) • my.cnf • PCI-E SSDは以下を無効化 • innodb_flush_neighbors • innodb_read_ahead_threshold
  11. 11. • my.cnfその他 • innodb_io_capacity{,_max}は適宜環境に応 じて設定しています。 • innodb_log_file_size = 1G • innodb_log_file_in_group = 16 • innodb_buffer_pool_size = 40G • innodb_buffer_pool_instances = 20
  12. 12. • NUMA関連 • MySQL 5.7はinnodb_numa_interleave • MariaDB 10.1はnumactl --interleave=all • CentOS7系のみExecStartで上記を指定
  13. 13. ベンチマーク環境1 • 自作サーバ • Intel Xeon E5-2630 2.30GHz x 2 (2P12C24T) • MEM 8GB x 8 = 64GB • Intel SSD 910 Series 400GB (200GB x 2, RAID0(md0)) • NIC Intel I350 • CentOS 7.1(3.10.0-229.14.1.el7.x86_64)
  14. 14. ベンチマーク環境2 • HP DL360 G8v2 • Intel Xeon E5-2643 v2 3.50GHz x 2 (2P12C24T) • MEM 8GB x 8 = 64GB • ioDrive2 785G (Driver version: 3.2.6) • NIC Intel I350 • CentOS 6.6(2.6.32-504.12.2.el6.x86_64)
  15. 15. ベンチマーク環境3 • HP DL360 G8v2 • Intel Xeon E5-2667 v2 3.30GHz x 2 (2P16C32T) • MEM 16GB x 8 = 128GB • SAS HDD 600GB x 4 (RAID10) • NIC Intel I350 • CentOS 6.7(2.6.32-573.8.1.el6.x86_64)
  16. 16. sysbench 0.5 ./bin/sysbench --test=./lua/select.lua --rand-init=on --db-driver=mysql --oltp-read-only=on --rand-type=uniform --oltp-tables-count=18 --oltp-table-size=3000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=sbtest5 --mysql-user=sbtest --mysql-password=sbtest-pw --max-time=60 --max-requests=0 --num-threads=${thread} run 以上を8並列で実行
  17. 17. sysbench 0.5 ./bin/sysbench --test=./lua/oltp.lua --rand-init=on --db-driver=mysql --oltp-read-only=on --rand-type=uniform --oltp-tables-count=18 --oltp-table-size=3000000 --oltp_point_selects=1000 --oltp_sum_ranges=0 --oltp_simple_ranges=0 --oltp_order_ranges=0 --oltp_distinct_ranges=0 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=sbtest5 --mysql-user=sbtest --mysql-password=sbtest-pw --max-time=60 --max-requests=0 --num-threads=${thread} run 以上を8並列で実行
  18. 18. LinkBench ./bin/linkbench -c config/MyConfig.properties -D maxtime=3600 -D requests=10000000 -D requesters=64 -r ・64スレッド実行 ・3600秒か1スレッドあたり10000000リクエスト処理したら終了
  19. 19. データ量 • sysbench 0.5 • 約13GB • LinkBench • 約21GB
  20. 20. ベンチマーク結果 (sysbench)
  21. 21. sysbench 0.5(select.lua) ベンチマーク環境1 0 42500 85000 127500 170000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  22. 22. sysbench 0.5(oltp.lua) ベンチマーク環境1 0 50000 100000 150000 200000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  23. 23. sysbench 0.5(select.lua) ベンチマーク環境2 0 60000 120000 180000 240000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  24. 24. sysbench 0.5(oltp.lua) ベンチマーク環境2 0 70000 140000 210000 280000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  25. 25. sysbench 0.5(select.lua) ベンチマーク環境3 0 100000 200000 300000 400000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  26. 26. sysbench 0.5(oltp.lua) ベンチマーク環境3 0 100000 200000 300000 400000 number of threads 8 16 32 64 128 256 512 1024 2048 4096 MySQL MariaDB
  27. 27. 環境1 select.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 79153.3 126892 165671 164200 162301 157935 142907 132039 131837 131738 MariaDB 81818.8 124418 169498 168143 167121 164313 155901 154942 155086 151485 環境1 oltp.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 87125.7 136120 176019 174128 172549 166197 148718 140762 144401 162449 MariaDB 64755.2 148221 191003 188706 186705 180805 164041 152048 154381 155051 環境2 select.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 97369.3 170491 229283 228034 225891 220770 207285 171191 158682 159935 MariaDB 101870 182925 239949 238332 236169 231718 224791 194868 209760 212766 環境2 oltp.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 108830 190365 248722 246606 244531 239035 230940 219336 211711 196712 MariaDB 121951 213392 271949 271133 269413 264823 253655 217833 211657 208552 環境3 select.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 105930 183877 311149 313058 309805 306151 303717 304329 302120 297241 MariaDB 107050 189611 319026 320233 318916 316263 313605 299467 305987 295381 環境3 oltp.lua 8 16 32 64 128 256 512 1024 2048 4096 MySQL 109812 217700 328504 339749 337526 337356 333486 332705 331299 332810 MariaDB 119779 240216 362312 363404 363266 362224 360097 358116 351428 338484
  28. 28. • sysbenchによるread only(point select)ではMariaDB 10.1の方がMySQL 5.7より優勢 • 2P12C24T環境ではMySQL, MariaDB共にピーク時から スレッド数が増えると性能が落ちる傾向がある • 2P16C32T環境ではMariaDBは同様に性能が落ちる傾向 があるがMySQLはほとんど性能が落ちない • Dimitriさんのベンチマーク結果のようにコア数が増加す るにつれてMySQLの方がMariaDBを上回る可能性があ る(2P20C40Tあたりで拮抗するかも?)
  29. 29. ベンチマーク結果 (LinkBench)
  30. 30. • LinkBenchによるread writeではMySQL 5.7がMariaDBより環境 問わず速い傾向 • 環境2の方が環境3よりスコアが出ているのはSAS HDDのため fsyncが遅く更新がネックになっていると考えられる。ストレー ジを同じにすれば環境3が高スコアになる見込み。 MySQL MariaDB 環境1 38828 32039 21% 環境2 60539 53947 12% 環境3 52826 47549 11%
  31. 31. まとめ
  32. 32. • 6コア x 2、8コア x 2の環境の場合 • read onlyならMariaDB 10.1が優勢 • read writeならMySQL 5.7が優勢 • PCI-E SSD, SAS HDD問わずデータ、INDEXが バッファに全て載る程度であれば同じ傾向
  33. 33. 個人的に • Dimitriさんのブログのベンチマークはコア数が増えてもス ケールする事をメインに紹介してるようだが、MariaDBのブ ログの4コアの場合MariaDBが優勢というのは微妙。何故なら Dimitriさんは過去の発表資料で少ないコア数の場合はMySQL 5.5が最速と書かれてたりします。(そもそもシングルスレッド 性能は4.0とかの方が速かったりするようですが。。。) • というかreadonlyとか特殊な環境でうちの方が速いとか書い てて虚しくならんのかと。
  34. 34. • MariaDBのブログに書かれるベンチマーク結果 は環境についての情報が少ないため話半分で見 ています • ベンチマークは所 ベンチマークです。ワーク ロードによってはread writeであっても MariaDBの方が速いパターンもあるかもしれま せん。きちんと各環境でベンチマークは取得し ましょう

×