MySQL Weekly

毎週月曜朝10時ころ更新、1週間のMySQL情報をまとめます

Update for this week (2019-06-30)

Release note

(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)

  • Nothing
    • 次回は8.0.16の内容まとめ。
    • 今後はGAになったバージョンが出たらそれについてまとめ

Bugs

serverity >= S5(Performance)でupdatedでdesc sort、結果の今週分を見る

条件を適用した検索結果

Bug #94283

MySQL 8.0.15 is slower than MySQL 5.7.25

  • 5.7.25よりも8.0.15のパフォーマンスが悪い.
    • Sysbench oltp_read_writeの実験において、特にtrx_commit=0 and sync_binlog=1000の場合22%の性能悪化
    • group replication環境でのパフォーマンス悪化を検証していたが、単体のMySQLですでのパフォーマンスが悪いことに気づいたとのこと
  • 報告自体は4ヶ月ほど前のもの今回はコメントで、
    • innodb_max_dirty_pages_pct=75 innodb_max_dirty_pages_pct_lwm=0 使ってみてくれってコメントついたことによる更新
  • my.cnfの設定、HWやsysbenchのoptionについては下記URLを参照のこと

報告者の実験結果 (参考: https://bugs.mysql.com/bug.php?id=94283)

+-------------------------------------------+--------------+--------------+-------+
| case                                      | MySQL 5.7.25 | MySQL 8.0.15 | ratio |
+-------------------------------------------+--------------+--------------+-------+
| trx_commit=0, binlog=off                  | 11402 tps    | 9840(*)      | 1.16  |
+-------------------------------------------+--------------+--------------+-------+
| trx_commit=1, binlog=off                  | 8375         | 7974         | 1.05  |
+-------------------------------------------+--------------+--------------+-------+
| trx_commit=0, binlog=on, sync_binlog=1000 | 10862        | 8871         | 1.22  |
+-------------------------------------------+--------------+--------------+-------+
| trx_commit=0, binlog=on, sync_binlog=1    | 7238         | 6459         | 1.12  |
+-------------------------------------------+--------------+--------------+-------+
| trx_commit=1, binlog=on, sync_binlog=1    | 5970         | 5043         | 1.18  |
+-------------------------------------------+--------------+--------------+-------+
  • 感想
    • sync_binlog=1000ってそういえば0/1以外もあった(binlogを指定された数ためてからsyncする、OSにsyncを任せない)
    • sync_binlog=1000はともかく、その下のtrx_commit=1, binlog=on, sync_binlog=1 だと5.7.25が18%良いのは覚えておく
    • 報告者はHow to reportと言いつつ Make MySQL 8 Great Again MySQL 8.0 does not have to be slower than MySQL 5.7 とか言ってて面白い。
    • こういう内容でもreportできて、receiveされるんだな...このあとの対応気になる(どうなったらcloseされるのか)

MySQL server blog

https://mysqlserverteam.com/

  • Nothing

Organization blogs

  • Percona blog (MySQL): https://www.percona.com/blog/

    • pt-kill: How it Works
      • pt-killで問い合わせ多いけど使い方間違ってること多いから解説するよって記事。
      • オプションで以下の条件をつけたときにこれらの条件はOR条件でマッチするクエリを検索するからAND条件と思ってるとほかも巻き込んで殺すよって話。怖い --busy-time 2s --match-info "(select|SELECT)" この場合selectで2秒以上のクエリがkillされるんじゃなくて、どっちかに当てはまったものが殺される。。。 ん?write系も? (要確認...使わないほうが良いのでは?)
    • Adaptive Hash Index on AWS Aurora
      • Auroraのreader nodeではwriter nodeに比べてクエリが2,3倍遅いことがある
      • InnoDB_Adaptive_Hash_Indexesがreader nodeではoffになっているっぽい。
      • Auroraの都合っぽいのでパス
    • Percona Live Europe 2019 Call for Papers is Now Open!
      • タイトル通りPercona Live Europe 2019のTalk sessionの募集開始!!!
      • 前回LTの応募出したんだけど、そもそもLT枠なくなってた...
    • Stored Functions and Temporary Tables are Not a Good Fit
      • MySQLがTemporary Tableを作成してクエリを処理する場合にSELECT LIST内の関数は結果行ごとの実行されるから処理が非常に遅くなるという現象の指摘。
      • SQLの実行順序と実行方式を整理する必要がるので、別途調査予定。
    • Percona XtraDB Cluster 5.7.26-31.37 Is Now Available
      • タイトル通り
      • 10個のbugsがfixされたようだけど、PXCなのでパス
    • InnoDB ALTER TABLE ADD INDEX and INSERT performance
      • 5.6移行でonline DDLができるようになったけど、online DDL中のinsert性能が悪い、さらに大きいテーブルに対してonline DDLを実行し、その実行中にinsertが600秒以上待つとserver crashになる問題がどうなったかという話。
      • Percona serverの5.7.26-29, 8.0.15-6では直ったらしい。
      • MySQLでは次の5.7のリリースでpatchを取り込んでほしいと思っているそう
      • 8.0では直っている?(要確認)
      • 対策としてはpt-osc使えとのこと
    • Percona Live 2019’s Top 10 Most Attended Talks
      • Percona Live 2019のセッションの人気トップ10が発表!!
      • No1のØysteinの発表をばっちり聞いていたのと、それ以外のコア開発チームの発表は後日動画が公開されそうという予想がバッチリ的中して最高。
      • そして動画を公開できないことが理由かもしれないけど、僕はFacebookの発表が1つも上位に入っていないのが不思議。
      • FBの発表は聞いてきたから良いけどね!
  • Oracle-MySQL blog: https://blogs.oracle.com/mysql/

    • Nothing
  • MySQL道普請: https://gihyo.jp/dev/serial/01/mysql-road-construction-news
    • Nothing
  • Yakst MySQL-tag: https://yakst.com/ja/tags/mysql
    • Nothing

Personal blogs

(リストは不完全です。この人のが抜けてるじゃん!?ってあったら教えてくださいm( )m)
(ただし内容はMySQL関連に限ります)