SlideShare a Scribd company logo
1 of 25
Download to read offline
グラフで見るMySQL5.6と8.0
それでもボクはやってない
MySQL Casual Talks vol.13
2020/01/28
@lhfukamachi
1
自己紹介
$ cat /etc/lhfukamachi/lhfukamachi-auto.cnf | jq
{
"Version": 0.0.6,
"lhfukamachi": {
"Metadata": {
"BirthDay" : 622134000,
"attribute" : "渋谷で働く見習いDBA",
"Twitter" : "@lhfukamachi"
}
}
2
祝! 弊社のとあるMySQLが5.6→8.0 に
なりました。
※(私は何も作業をしていません。)
3
どんなDB?
もともとはMySQL5.5で動いていた模様
2015年にMySQL5.5 -> 5.6に上げた形跡がある。
旧弊社ブログに形跡あり
MySQL5.6へバージョンアップする前にクエリの性能を確認する
QPSはだいたい1000くらい
多いときで3000。 4
どうやって5.6->8.0にした?
5
どうやって5.6->8.0にした?
6
どうやって5.6->8.0にした?
7
※ただしこの辺の苦労話は一切できない
詳細は私の右隣の人or左隣の人に聞いてください
8
それではグラフをみていきましょう。
9
今回のグラフ
Percona Monitoring Plugins for Cacti
https://github.com/percona/percona-monitoring-plugins
10
InnoDB Adapive Hash Index
11
InnoDB Adapive Hash Index
Hash index Cells Totalが小さくなった。
実は5.7でAHIのインスタンス数を分割(デフォルト8)
innodb_adaptive_hash_index_partsで調整可能。
つまり8分割されたうち、1個が表示されている
なので8倍すると同じ値になる
12
InnoDB Memmory Allocation
13
InnoDB Memmory Allocation
total memoryがなくなった。
そんなはずはない。
14
InnoDB Memmory Allocation
SHOW ENGINE INNODB STATUSを見てみる
8.0
----------------------
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 41758490624
5.6(数字は無視してください)
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 2197815296; in additional pool allocated 0 15
InnoDB Memmory Allocation
コードを読んでみると条件にはひっかかりそうではある。
でも値がとれていない。
5.7の環境でもとれていなかった。
PHP力が足りない。わからない。
https://github.com/percona/percona-monitoring-
plugins/blob/1f620f2cf2d8842038d9dac620e29c3fc2945282/cacti/s
cripts/ss_get_mysql_stats.php#L1145-L1154
16
InnoDB Memmory Allocation
# BUFFER POOL AND MEMORY
elseif ( $mysql_version < 50700 && strpos($line, "Total memory allocated")
=== 0 && strpos($line, "in additional pool allocated") > 0 ) {
# Total memory allocated 29642194944; in additional pool allocated 0
# Total memory allocated by read views 96
$results['total_mem_alloc'] = to_int($row[3]);
$results['additional_pool_alloc'] = to_int($row[8]);
}
elseif ( $mysql_version >= 50700 && strpos($line,
"Total large memory allocated") === 0 ) {
# Post 5.7.x SHOW ENGINE INNODB STATUS syntax
# Total large memory allocated 2198863872
$results['total_mem_alloc'] = to_int($row[4]);
$results['additional_pool_alloc'] = 0;
}
17
MyISAM INDEX
18
MyISAM INDEX
5.6までは内部的なテンポラリーテーブルはMYISAM
5.7からは選べるようになってデフォルト
INNODB(internal_tmp_disk_storage_engine)
8.0.16ではオプションが消えて常にINNODB
19
Binary log
20
Binary log
メンテナンスのタイミングで
binlog_formatをMixed=>Rowに変更したらしい
さらにMySQL8.0は
original_committed_timestamp
immediate_commit_timestamp
という2つのタイムスタンプがbinlogに出力されるようになったので
増えてそう。
21
CPU
22
CPU
5.6の時より使われる様になった
もともと全然つかってなかったので嬉しい
ページクリーナスレッドの複数化とかが影響してる?
23
まとめ
グラフで影響しているところは5.7で入った機能がほとんど。
グラフが上がった/下がったで喜んだり悲しんだりするのは早い。
どこから値を取得しているのか、なぜそうなったのかを考える必
要がありそう
PMP for Cactiは8.0対応してないので注意!
PMM2とかは対応してるかもしれない(未検証)
24
おわり
25

More Related Content

What's hot

What's hot (20)

MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
 
Aurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpAurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUp
 
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearchMySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearch
 
Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorksElasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
 
コロナ禍の所蔵品検索システム
コロナ禍の所蔵品検索システムコロナ禍の所蔵品検索システム
コロナ禍の所蔵品検索システム
 
MySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っているMySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っている
 
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは
 
POWER8サーバでMariaDBベンチマーク
POWER8サーバでMariaDBベンチマークPOWER8サーバでMariaDBベンチマーク
POWER8サーバでMariaDBベンチマーク
 
カジュアルに本番データを開発環境に入れる #mysqlcasual
カジュアルに本番データを開発環境に入れる #mysqlcasualカジュアルに本番データを開発環境に入れる #mysqlcasual
カジュアルに本番データを開発環境に入れる #mysqlcasual
 
MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例
 
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたReactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
 
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティスコンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
 
MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編
 
MySQL Fabricでぼっこぼこにされたはなし
MySQL FabricでぼっこぼこにされたはなしMySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
 
MySQLテーブル設計入門
MySQLテーブル設計入門MySQLテーブル設計入門
MySQLテーブル設計入門
 
お金が無いときのMySQL Cluster頼み
お金が無いときのMySQL Cluster頼みお金が無いときのMySQL Cluster頼み
お金が無いときのMySQL Cluster頼み
 

Similar to グラフで見るMySQL5.6と8.0

MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例
Jun Shimizu
 

Similar to グラフで見るMySQL5.6と8.0 (18)

最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
 
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLはMySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
 
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDBWhat's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDB
 
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろうMySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
 
LibreOffice Base をSQLite のフロントエンドにしてみよう
LibreOffice Base をSQLite のフロントエンドにしてみようLibreOffice Base をSQLite のフロントエンドにしてみよう
LibreOffice Base をSQLite のフロントエンドにしてみよう
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
 
MySQLマニュアルに関する思い出話と、最近差分を追っている話
MySQLマニュアルに関する思い出話と、最近差分を追っている話MySQLマニュアルに関する思い出話と、最近差分を追っている話
MySQLマニュアルに関する思い出話と、最近差分を追っている話
 
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
 
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 ReplicationWhat's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
 
MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL5.7とMariaDB10.1の性能比較(簡易)MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL5.7とMariaDB10.1の性能比較(簡易)
 
いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡
 
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてくださいレガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
 
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版   v3対応詳説 Data api mtddc 拡張版   v3対応
詳説 Data api mtddc 拡張版 v3対応
 
MySQL clients
MySQL clientsMySQL clients
MySQL clients
 

Recently uploaded

Recently uploaded (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

グラフで見るMySQL5.6と8.0