SlideShare a Scribd company logo
1 of 70
Download to read offline
What you wanted to know about MySQL
but could not find using internal instrumentation only
February, 3, 2017
Sveta Smirnova
∙ MySQL Support engineer
∙ Author of
∙ MySQL Troubleshooting
∙ JSON UDF functions
∙ FILTER clause for MySQL
∙ Speaker
∙ Percona Live, OOW, Fosdem,
DevConf, HighLoad...
Sveta Smirnova
2
Year 2009
3
∙ In modern versions we have a lot of online
information
Historical Data
4
∙ In modern versions we have a lot of online
information
∙
However users usually notice error from log
files, when context is already gone
Historical Data
4
∙ In modern versions we have a lot of online
information
∙
However users usually notice error from log
files, when context is already gone
∙ Partially this is solved by modern monitoring
tools (PMM) which can save historical
statistics
Historical Data
4
∙ In modern versions we have a lot of online
information
∙
However users usually notice error from log
files, when context is already gone
∙ Partially this is solved by modern monitoring
tools (PMM) which can save historical
statistics
∙
But not about everything
Historical Data
4
∙ It is easy to find in the Audit log records query
which failed with this error
<AUDIT_RECORD
NAME="Query"
RECORD="2_2017-01-12T20:40:36"
TIMESTAMP="2017-01-12T20:41:32 UTC"
COMMAND_CLASS="update"
CONNECTION_ID="3"
STATUS=" 1205"
SQLTEXT="update t1 set f1=f1-1"
USER="root[root] @ localhost [127.0.0.1]"
HOST="localhost"
OS_USER=
IP="127.0.0.1"
DB="test"
/>
Lock wait timeout
5
∙ It is easy to find in the Audit log records query
which failed with this error
∙
But there is the query which holds the lock?
Lock wait timeout
5
∙ It is easy to find in the Audit log records query
which failed with this error
∙
But there is the query which holds the lock?
∙
Even hard to find online
∙ Especially if you have thousands of running
threads!
Lock wait timeout
5
∙ It is easy to find in the Audit log records query
which failed with this error
∙
But there is the query which holds the lock?
∙
Even hard to find online
∙ Multiple statement transactions make it worse
Lock wait timeout
5
∙ It is easy to find in the Audit log records query
which failed with this error
∙
But there is the query which holds the lock?
∙
Even hard to find online
∙ Multiple statement transactions make it worse
∙ However server has all information to print all
queries of locking transaction
Lock wait timeout
5
∙ It is easy to find in the Audit log records query
which failed with this error
∙
But there is the query which holds the lock?
∙
Even hard to find online
∙ Multiple statement transactions make it worse
∙ However server has all information to print all
queries of locking transaction
∙ MySQL Bug #84563
Lock wait timeout
5
∙
First transaction
––––––––––––
LATEST DETECTED DEADLOCK
––––––––––––
2017-01-19 13:03:42 7f37fc636700
*** (1) TRANSACTION:
TRANSACTION 1298, ACTIVE 3 sec starting index read
...
DELETE FROM t WHERE i = 1
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘
of table ‘test‘.‘t‘ trx id 1298 lock_mode X waiting
...
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
*** (2) TRANSACTION:
TRANSACTION 1297, ACTIVE 7 sec starting index read
...
DELETE FROM t WHERE i = 1
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘
...
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘
...
*** WE ROLL BACK TRANSACTION (1)
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
∙
Which query held the lock?
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
∙
Which query held the lock?
∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
∙
Which query held the lock?
∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;
∙ How would we know?
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
∙
Which query held the lock?
∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;
∙ How would we know?
∙ refman/.../innodb-deadlock-example.html
What exactly caused the deadlock?
6
∙
First transaction
∙
Second transaction
∙
Which query held the lock?
∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;
∙ How would we know?
∙ refman/.../innodb-deadlock-example.html
∙ Bug #84607
What exactly caused the deadlock?
6
∙ Performance Schema
∙ Bug #71364 Please provide warning text
information into P_S
∙ Bug #61030 Make an I_S table of client error
codes
∙ Bug #58058 please add instrumentation to track
error counts on a server
Some past requests
7
∙ Performance Schema
∙ General logging
∙ Bug #70796 Error messages and warnings for
sql-mode behaviours need more verbosity
∙ Bug #64190 Log failed queries in a separate log
∙ Bug #60884 Enable logging of all errors to the
error log
∙
Bug #34137 Additional logging of the server
shutdown process
Some past requests
7
∙ Which kind of query can produce this output?
∙ t is InnoDB table
mysql> select * from table_handles where object_name=’t’G
*************************** 1. row ***************************
OBJECT_TYPE: TABLE
OBJECT_SCHEMA: test
OBJECT_NAME: t
OBJECT_INSTANCE_BEGIN: 140108477034256
OWNER_THREAD_ID: 23
OWNER_EVENT_ID: 3788
INTERNAL_LOCK: NULL
EXTERNAL_LOCK: READ EXTERNAL
1 row in set (0,00 sec)
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t read;
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t read;
∙ select * from t [lock in share mode];
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t read;
∙ select * from t [lock in share mode];
∙
select * from t where i [=,in,<,>] ...
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t read;
∙ select * from t [lock in share mode];
∙
select * from t where i [=,in,<,>] ...
∙ But not select * from t where unique_key = ... !
Table_handles
8
∙ Which kind of query can produce this output?
∙ t is InnoDB table
mysql> select * from table_handles where object_name=’t’G
*************************** 1. row ***************************
OBJECT_TYPE: TABLE
OBJECT_SCHEMA: test
OBJECT_NAME: t
OBJECT_INSTANCE_BEGIN: 140108477034256
OWNER_THREAD_ID: 23
OWNER_EVENT_ID: 4379
INTERNAL_LOCK: NULL
EXTERNAL_LOCK: WRITE EXTERNAL
1 row in set (0,00 sec)
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t write;
∙ Manual says: "The table lock used at the storage
engine level. The value is one of READ
EXTERNAL or WRITE EXTERNAL."
∙
Is this storage engine level operation?
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t write;
∙ select * from t for update;
Table_handles
8
∙ Which kind of query can produce this output?
∙ lock table t write;
∙ select * from t for update;
∙
update t set i=i+sleep(i) where i [=,in,<,>] ...
Table_handles
8
∙ Which kind of query can produce this output?
∙ Bug #84609
Table_handles
8
∙ Which kind of query can produce this output?
∙ Bug #84609
∙ Bug #84610
Table_handles
8
∙ In past we had only one troubleshooting tool
∙ SHOW SLAVE STATUS
Replication
9
∙ In past we had only one troubleshooting tool
∙ Today Performance Schema supports
replication
Replication
9
∙ In past we had only one troubleshooting tool
∙ Today Performance Schema supports
replication
∙
But it still misses
∙ Bug #81249 SLAVE_NET_TIMEOUT TO
P_S FOR SLAVE THREAD VARIABLES
∙ Bug #78918 Metric for succesful slave reconnects
∙ Bug #77605 Add more information to SQL
thread-related P_S tables
Replication
9
∙ In past we had only one troubleshooting tool
∙ Today Performance Schema supports
replication
∙
But it still misses
∙ Bug #76828 Slave details on a master
∙ Bug #74809 Stats per binlog event type
∙ Bug #72826 Support for joining
replication_execute_status_by_%
∙ Bug #70951 Threads shutdown info
Replication
9
∙ What does this output mean?
2017-01-20T21:44:52.301177Z 5 [Note] Aborted connection 5 to db: ’test’ user: ’root’
host: ’localhost’ (Got timeout reading communication packets)
Connection errors
10
∙ What does this output mean?
∙ Timeout while connection was establishing?
Connection errors
10
∙ What does this output mean?
∙ Timeout while connection was establishing?
∙ Connection was aborted, because
interactive_timeout/wait_timeout passed?
Connection errors
10
∙ What does this output mean?
∙ Timeout while connection was establishing?
∙ Connection was aborted, because
interactive_timeout/wait_timeout passed?
∙ Something else?
Connection errors
10
∙ What does this output mean?
∙ Timeout while connection was establishing?
∙ Connection was aborted, because
interactive_timeout/wait_timeout passed?
∙ Something else?
∙ Bug #51219, Bug #28836, Bug #78843, Bug
#84612
Connection errors
10
∙ Bug #77888 max_used_connection per
user/account missing in P_S/sys
∙
Bug #77581 Collect DNS timing information
into Performance_Schema
∙ Bug #76403
COUNT_ABORTED_CLIENT_ERRORS to
P_S.host_cache
∙
Bug #72219 First and last connection
timestamps to P_S.users table
Other connection requests
11
∙ Bug #71305
PERFORMANCE_SCHEMA.THREADS
table, add a PORT column
∙
Bug #71186 P_S.host_cache does not collect
connections aborted entries
∙ Bug #69880 Track and expose connection
creation timestamp
Other connection requests
11
∙ Bug #69725 P_S.socket_instances doesn’t
include named pipe or shared memory
connections
∙
Bug #45817 Please add SHOW command for
inc_host_errors(max_connect_errors)
∙ Bug #21565 More verbose connection log
Other connection requests
11
∙ One more output
mysql> flush status;
Query OK, 0 rows affected (0,00 sec)
mysql> select ...
600048 rows in set (1 min 17,26 sec)
mysql> show status like ’Created_tmp%’;
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 2 |
| Created_tmp_files | 6 |
| Created_tmp_tables | 3 |
+-------------------------+-------+
3 rows in set (0,00 sec)
Temporary tables
12
∙ One more output
∙ Were tables created in simultaneously?
Temporary tables
12
∙ One more output
∙ Were tables created in simultaneously?
∙ What is their size?
Temporary tables
12
∙ One more output
∙ Were tables created in simultaneously?
∙ What is their size?
∙
Solution: watch lsof
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 8697 sveta 70u REG 0,43 11765657 43001204 /tmp/mysqld.1/MYSeEOHe (deleted)
mysqld 8697 sveta 71u REG 0,43 11765657 43001205 /tmp/mysqld.1/MYVwF8Od (deleted)
Temporary tables
12
∙ One more output
∙ Were tables created in simultaneously?
∙ What is their size?
∙
Solution: watch lsof
∙
Bug #74484
Temporary tables
12
∙ One more output
∙ Were tables created in simultaneously?
∙ What is their size?
∙
Solution: watch lsof
∙
Bug #74484
∙
Bug #84613
Temporary tables
12
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
∙ Runtime
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
∙ Runtime
∙
Parser
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
∙ Runtime
∙
Parser
∙ Binary logging
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
∙ Runtime
∙
Parser
∙ Binary logging
∙ InnoDB
Trace
13
∙ I_S.OPTIMIZER_TRACE is good addition for
Optimizer
∙
But what about other parts of the server?
∙ Runtime
∙
Parser
∙ Binary logging
∙ InnoDB
∙
Bug #84620
Trace
13
∙ General
∙ Bug #83626 Collect per column usage data in
performance_schema
∙ Bug #71755 Provide per partition summary
information in PERFORMANCE_SCHEMA
∙ Bug #81020 performance_schema: Please add
optimizer usage statistics
∙ Bug #55171 How much sort_buffer_size are
actually used?
More tracing requests
14
∙ General
∙ InnoDB
∙ Bug #81611 Add P_S metrics to collect
compressed page bytes vs other types written to
relog
∙ Bug #78448 Provide better metrics on
innodb_sort_buffer_size usage
∙
Bug #71698 Add instrumentation for the
doublewrite buffer and undo segments
More tracing requests
14
∙ SHOW PROCESSLIST has multiple states
Vague stages
15
∙ SHOW PROCESSLIST has multiple states
∙ Some of them are clear
Vague stages
15
∙ SHOW PROCESSLIST has multiple states
∙ Some of them are clear
∙ But what do these mean?
∙ System lock
∙
statistics
∙
freeing items
∙ Sending data
∙ cleaning up
∙
closing tables
∙
end
Vague stages
15
∙ SHOW PROCESSLIST has multiple states
∙ Some of them are clear
∙ But what do these mean?
∙
Bug #57544
Vague stages
15
∙ SHOW PROCESSLIST has multiple states
∙ Some of them are clear
∙ But what do these mean?
∙
Bug #57544
∙
Bug#72083
Vague stages
15
∙ SHOW PROCESSLIST has multiple states
∙ Some of them are clear
∙ But what do these mean?
∙
Bug #57544
∙
Bug#72083
∙
Bug #84615
Vague stages
15
Summary
∙ Feature requests
∙
Comments
∙ Fixes
To better MySQL!
17
http://www.slideshare.net/SvetaSmirnova
https://twitter.com/svetsmirnova
https://github.com/svetasmirnova
Thank you!
18
DATABASE PERFORMANCE
MATTERS

More Related Content

What's hot

MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015Dave Stokes
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultDave Stokes
 
Managing MariaDB Server operations with Percona Toolkit
Managing MariaDB Server operations with Percona ToolkitManaging MariaDB Server operations with Percona Toolkit
Managing MariaDB Server operations with Percona ToolkitSveta Smirnova
 
MySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comMySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comJean-François Gagné
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialJean-François Gagné
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: DemystifiedSveta Smirnova
 
Introduction into MySQL Query Tuning
Introduction into MySQL Query TuningIntroduction into MySQL Query Tuning
Introduction into MySQL Query TuningSveta Smirnova
 
Performance Schema in Action: demo
Performance Schema in Action: demoPerformance Schema in Action: demo
Performance Schema in Action: demoSveta Smirnova
 
openark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday useopenark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday useShlomi Noach
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDMydbops
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 MinutesSveta Smirnova
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentJean-François Gagné
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained Mydbops
 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentJean-François Gagné
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in ActionSveta Smirnova
 

What's hot (20)

MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing Difficult
 
Managing MariaDB Server operations with Percona Toolkit
Managing MariaDB Server operations with Percona ToolkitManaging MariaDB Server operations with Percona Toolkit
Managing MariaDB Server operations with Percona Toolkit
 
MySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comMySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.com
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: Demystified
 
Introduction into MySQL Query Tuning
Introduction into MySQL Query TuningIntroduction into MySQL Query Tuning
Introduction into MySQL Query Tuning
 
Performance Schema in Action: demo
Performance Schema in Action: demoPerformance Schema in Action: demo
Performance Schema in Action: demo
 
openark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday useopenark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday use
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTID
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained
 
Oss4b - pxc introduction
Oss4b   - pxc introductionOss4b   - pxc introduction
Oss4b - pxc introduction
 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 

Viewers also liked

Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Ronald Bradford
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationNuno Carvalho
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLKenny Gryp
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsPedro Gomes
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksColin Charles
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreSujatha Sivakumar
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridEditor IJCATR
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationManish Kumar
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?Sveta Smirnova
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationKenny Gryp
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationKenny Gryp
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupKenny Gryp
 
The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!Boris Hristov
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考zhaolinjnu
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureKenny Gryp
 

Viewers also liked (20)

Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQL
 
SQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and ProfitSQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and Profit
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirks
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data Grid
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 
MySQL aio
MySQL aioMySQL aio
MySQL aio
 

Similar to What you wanted to know about MySQL, but could not find using inernal instrumentation only

10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance ImprovementsRonald Bradford
 
10x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp0210x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp02promethius
 
Debugging Complex Systems - Erlang Factory SF 2015
Debugging Complex Systems - Erlang Factory SF 2015Debugging Complex Systems - Erlang Factory SF 2015
Debugging Complex Systems - Erlang Factory SF 2015lpgauth
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
 
Understanding Non Blocking I/O with Python
Understanding Non Blocking I/O with PythonUnderstanding Non Blocking I/O with Python
Understanding Non Blocking I/O with PythonVaidik Kapoor
 
Being HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on PurposeBeing HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on PurposeAman Kohli
 
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...JSFestUA
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Valeriy Kravchuk
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionBen Mildren
 
리눅스 드라이버 실습 #3
리눅스 드라이버 실습 #3리눅스 드라이버 실습 #3
리눅스 드라이버 실습 #3Sangho Park
 
Scaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersScaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersJonathan Levin
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...rschuppe
 
SIEM 101: Get a Clue About IT Security Analysis
SIEM 101: Get a Clue About IT Security Analysis SIEM 101: Get a Clue About IT Security Analysis
SIEM 101: Get a Clue About IT Security Analysis AlienVault
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackJakub Hajek
 
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter Heck
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter HeckOSMC 2017 | Log Monitoring with Logstash and Icinga by Walter Heck
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter HeckNETWAYS
 
Top SharePoint Issues SPS Event New Hampshire 2014
Top SharePoint Issues SPS Event New Hampshire 2014Top SharePoint Issues SPS Event New Hampshire 2014
Top SharePoint Issues SPS Event New Hampshire 2014Serge Tremblay
 

Similar to What you wanted to know about MySQL, but could not find using inernal instrumentation only (20)

10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
10x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp0210x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp02
 
DAC
DACDAC
DAC
 
Debugging Complex Systems - Erlang Factory SF 2015
Debugging Complex Systems - Erlang Factory SF 2015Debugging Complex Systems - Erlang Factory SF 2015
Debugging Complex Systems - Erlang Factory SF 2015
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
Understanding Non Blocking I/O with Python
Understanding Non Blocking I/O with PythonUnderstanding Non Blocking I/O with Python
Understanding Non Blocking I/O with Python
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
 
Being HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on PurposeBeing HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on Purpose
 
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
 
리눅스 드라이버 실습 #3
리눅스 드라이버 실습 #3리눅스 드라이버 실습 #3
리눅스 드라이버 실습 #3
 
Scaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersScaling MySQL Strategies for Developers
Scaling MySQL Strategies for Developers
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
 
SIEM 101: Get a Clue About IT Security Analysis
SIEM 101: Get a Clue About IT Security Analysis SIEM 101: Get a Clue About IT Security Analysis
SIEM 101: Get a Clue About IT Security Analysis
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter Heck
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter HeckOSMC 2017 | Log Monitoring with Logstash and Icinga by Walter Heck
OSMC 2017 | Log Monitoring with Logstash and Icinga by Walter Heck
 
Top SharePoint Issues SPS Event New Hampshire 2014
Top SharePoint Issues SPS Event New Hampshire 2014Top SharePoint Issues SPS Event New Hampshire 2014
Top SharePoint Issues SPS Event New Hampshire 2014
 

More from Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?Sveta Smirnova
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringSveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговSveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessSveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOpsSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterSveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsSveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaSveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraSveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...Sveta Smirnova
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQLSveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Sveta Smirnova
 

More from Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 

Recently uploaded

Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 

Recently uploaded (20)

Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 

What you wanted to know about MySQL, but could not find using inernal instrumentation only

  • 1. What you wanted to know about MySQL but could not find using internal instrumentation only February, 3, 2017 Sveta Smirnova
  • 2. ∙ MySQL Support engineer ∙ Author of ∙ MySQL Troubleshooting ∙ JSON UDF functions ∙ FILTER clause for MySQL ∙ Speaker ∙ Percona Live, OOW, Fosdem, DevConf, HighLoad... Sveta Smirnova 2
  • 4. ∙ In modern versions we have a lot of online information Historical Data 4
  • 5. ∙ In modern versions we have a lot of online information ∙ However users usually notice error from log files, when context is already gone Historical Data 4
  • 6. ∙ In modern versions we have a lot of online information ∙ However users usually notice error from log files, when context is already gone ∙ Partially this is solved by modern monitoring tools (PMM) which can save historical statistics Historical Data 4
  • 7. ∙ In modern versions we have a lot of online information ∙ However users usually notice error from log files, when context is already gone ∙ Partially this is solved by modern monitoring tools (PMM) which can save historical statistics ∙ But not about everything Historical Data 4
  • 8. ∙ It is easy to find in the Audit log records query which failed with this error <AUDIT_RECORD NAME="Query" RECORD="2_2017-01-12T20:40:36" TIMESTAMP="2017-01-12T20:41:32 UTC" COMMAND_CLASS="update" CONNECTION_ID="3" STATUS=" 1205" SQLTEXT="update t1 set f1=f1-1" USER="root[root] @ localhost [127.0.0.1]" HOST="localhost" OS_USER= IP="127.0.0.1" DB="test" /> Lock wait timeout 5
  • 9. ∙ It is easy to find in the Audit log records query which failed with this error ∙ But there is the query which holds the lock? Lock wait timeout 5
  • 10. ∙ It is easy to find in the Audit log records query which failed with this error ∙ But there is the query which holds the lock? ∙ Even hard to find online ∙ Especially if you have thousands of running threads! Lock wait timeout 5
  • 11. ∙ It is easy to find in the Audit log records query which failed with this error ∙ But there is the query which holds the lock? ∙ Even hard to find online ∙ Multiple statement transactions make it worse Lock wait timeout 5
  • 12. ∙ It is easy to find in the Audit log records query which failed with this error ∙ But there is the query which holds the lock? ∙ Even hard to find online ∙ Multiple statement transactions make it worse ∙ However server has all information to print all queries of locking transaction Lock wait timeout 5
  • 13. ∙ It is easy to find in the Audit log records query which failed with this error ∙ But there is the query which holds the lock? ∙ Even hard to find online ∙ Multiple statement transactions make it worse ∙ However server has all information to print all queries of locking transaction ∙ MySQL Bug #84563 Lock wait timeout 5
  • 14. ∙ First transaction –––––––––––– LATEST DETECTED DEADLOCK –––––––––––– 2017-01-19 13:03:42 7f37fc636700 *** (1) TRANSACTION: TRANSACTION 1298, ACTIVE 3 sec starting index read ... DELETE FROM t WHERE i = 1 *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘ of table ‘test‘.‘t‘ trx id 1298 lock_mode X waiting ... What exactly caused the deadlock? 6
  • 15. ∙ First transaction ∙ Second transaction *** (2) TRANSACTION: TRANSACTION 1297, ACTIVE 7 sec starting index read ... DELETE FROM t WHERE i = 1 *** (2) HOLDS THE LOCK(S): RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘ ... *** (2) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page no 314 n bits 72 index ‘GEN_CLUST_INDEX‘ ... *** WE ROLL BACK TRANSACTION (1) What exactly caused the deadlock? 6
  • 16. ∙ First transaction ∙ Second transaction ∙ Which query held the lock? What exactly caused the deadlock? 6
  • 17. ∙ First transaction ∙ Second transaction ∙ Which query held the lock? ∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE; What exactly caused the deadlock? 6
  • 18. ∙ First transaction ∙ Second transaction ∙ Which query held the lock? ∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE; ∙ How would we know? What exactly caused the deadlock? 6
  • 19. ∙ First transaction ∙ Second transaction ∙ Which query held the lock? ∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE; ∙ How would we know? ∙ refman/.../innodb-deadlock-example.html What exactly caused the deadlock? 6
  • 20. ∙ First transaction ∙ Second transaction ∙ Which query held the lock? ∙ SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE; ∙ How would we know? ∙ refman/.../innodb-deadlock-example.html ∙ Bug #84607 What exactly caused the deadlock? 6
  • 21. ∙ Performance Schema ∙ Bug #71364 Please provide warning text information into P_S ∙ Bug #61030 Make an I_S table of client error codes ∙ Bug #58058 please add instrumentation to track error counts on a server Some past requests 7
  • 22. ∙ Performance Schema ∙ General logging ∙ Bug #70796 Error messages and warnings for sql-mode behaviours need more verbosity ∙ Bug #64190 Log failed queries in a separate log ∙ Bug #60884 Enable logging of all errors to the error log ∙ Bug #34137 Additional logging of the server shutdown process Some past requests 7
  • 23. ∙ Which kind of query can produce this output? ∙ t is InnoDB table mysql> select * from table_handles where object_name=’t’G *************************** 1. row *************************** OBJECT_TYPE: TABLE OBJECT_SCHEMA: test OBJECT_NAME: t OBJECT_INSTANCE_BEGIN: 140108477034256 OWNER_THREAD_ID: 23 OWNER_EVENT_ID: 3788 INTERNAL_LOCK: NULL EXTERNAL_LOCK: READ EXTERNAL 1 row in set (0,00 sec) Table_handles 8
  • 24. ∙ Which kind of query can produce this output? ∙ lock table t read; Table_handles 8
  • 25. ∙ Which kind of query can produce this output? ∙ lock table t read; ∙ select * from t [lock in share mode]; Table_handles 8
  • 26. ∙ Which kind of query can produce this output? ∙ lock table t read; ∙ select * from t [lock in share mode]; ∙ select * from t where i [=,in,<,>] ... Table_handles 8
  • 27. ∙ Which kind of query can produce this output? ∙ lock table t read; ∙ select * from t [lock in share mode]; ∙ select * from t where i [=,in,<,>] ... ∙ But not select * from t where unique_key = ... ! Table_handles 8
  • 28. ∙ Which kind of query can produce this output? ∙ t is InnoDB table mysql> select * from table_handles where object_name=’t’G *************************** 1. row *************************** OBJECT_TYPE: TABLE OBJECT_SCHEMA: test OBJECT_NAME: t OBJECT_INSTANCE_BEGIN: 140108477034256 OWNER_THREAD_ID: 23 OWNER_EVENT_ID: 4379 INTERNAL_LOCK: NULL EXTERNAL_LOCK: WRITE EXTERNAL 1 row in set (0,00 sec) Table_handles 8
  • 29. ∙ Which kind of query can produce this output? ∙ lock table t write; ∙ Manual says: "The table lock used at the storage engine level. The value is one of READ EXTERNAL or WRITE EXTERNAL." ∙ Is this storage engine level operation? Table_handles 8
  • 30. ∙ Which kind of query can produce this output? ∙ lock table t write; ∙ select * from t for update; Table_handles 8
  • 31. ∙ Which kind of query can produce this output? ∙ lock table t write; ∙ select * from t for update; ∙ update t set i=i+sleep(i) where i [=,in,<,>] ... Table_handles 8
  • 32. ∙ Which kind of query can produce this output? ∙ Bug #84609 Table_handles 8
  • 33. ∙ Which kind of query can produce this output? ∙ Bug #84609 ∙ Bug #84610 Table_handles 8
  • 34. ∙ In past we had only one troubleshooting tool ∙ SHOW SLAVE STATUS Replication 9
  • 35. ∙ In past we had only one troubleshooting tool ∙ Today Performance Schema supports replication Replication 9
  • 36. ∙ In past we had only one troubleshooting tool ∙ Today Performance Schema supports replication ∙ But it still misses ∙ Bug #81249 SLAVE_NET_TIMEOUT TO P_S FOR SLAVE THREAD VARIABLES ∙ Bug #78918 Metric for succesful slave reconnects ∙ Bug #77605 Add more information to SQL thread-related P_S tables Replication 9
  • 37. ∙ In past we had only one troubleshooting tool ∙ Today Performance Schema supports replication ∙ But it still misses ∙ Bug #76828 Slave details on a master ∙ Bug #74809 Stats per binlog event type ∙ Bug #72826 Support for joining replication_execute_status_by_% ∙ Bug #70951 Threads shutdown info Replication 9
  • 38. ∙ What does this output mean? 2017-01-20T21:44:52.301177Z 5 [Note] Aborted connection 5 to db: ’test’ user: ’root’ host: ’localhost’ (Got timeout reading communication packets) Connection errors 10
  • 39. ∙ What does this output mean? ∙ Timeout while connection was establishing? Connection errors 10
  • 40. ∙ What does this output mean? ∙ Timeout while connection was establishing? ∙ Connection was aborted, because interactive_timeout/wait_timeout passed? Connection errors 10
  • 41. ∙ What does this output mean? ∙ Timeout while connection was establishing? ∙ Connection was aborted, because interactive_timeout/wait_timeout passed? ∙ Something else? Connection errors 10
  • 42. ∙ What does this output mean? ∙ Timeout while connection was establishing? ∙ Connection was aborted, because interactive_timeout/wait_timeout passed? ∙ Something else? ∙ Bug #51219, Bug #28836, Bug #78843, Bug #84612 Connection errors 10
  • 43. ∙ Bug #77888 max_used_connection per user/account missing in P_S/sys ∙ Bug #77581 Collect DNS timing information into Performance_Schema ∙ Bug #76403 COUNT_ABORTED_CLIENT_ERRORS to P_S.host_cache ∙ Bug #72219 First and last connection timestamps to P_S.users table Other connection requests 11
  • 44. ∙ Bug #71305 PERFORMANCE_SCHEMA.THREADS table, add a PORT column ∙ Bug #71186 P_S.host_cache does not collect connections aborted entries ∙ Bug #69880 Track and expose connection creation timestamp Other connection requests 11
  • 45. ∙ Bug #69725 P_S.socket_instances doesn’t include named pipe or shared memory connections ∙ Bug #45817 Please add SHOW command for inc_host_errors(max_connect_errors) ∙ Bug #21565 More verbose connection log Other connection requests 11
  • 46. ∙ One more output mysql> flush status; Query OK, 0 rows affected (0,00 sec) mysql> select ... 600048 rows in set (1 min 17,26 sec) mysql> show status like ’Created_tmp%’; +-------------------------+-------+ | Variable_name | Value | +-------------------------+-------+ | Created_tmp_disk_tables | 2 | | Created_tmp_files | 6 | | Created_tmp_tables | 3 | +-------------------------+-------+ 3 rows in set (0,00 sec) Temporary tables 12
  • 47. ∙ One more output ∙ Were tables created in simultaneously? Temporary tables 12
  • 48. ∙ One more output ∙ Were tables created in simultaneously? ∙ What is their size? Temporary tables 12
  • 49. ∙ One more output ∙ Were tables created in simultaneously? ∙ What is their size? ∙ Solution: watch lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 8697 sveta 70u REG 0,43 11765657 43001204 /tmp/mysqld.1/MYSeEOHe (deleted) mysqld 8697 sveta 71u REG 0,43 11765657 43001205 /tmp/mysqld.1/MYVwF8Od (deleted) Temporary tables 12
  • 50. ∙ One more output ∙ Were tables created in simultaneously? ∙ What is their size? ∙ Solution: watch lsof ∙ Bug #74484 Temporary tables 12
  • 51. ∙ One more output ∙ Were tables created in simultaneously? ∙ What is their size? ∙ Solution: watch lsof ∙ Bug #74484 ∙ Bug #84613 Temporary tables 12
  • 52. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer Trace 13
  • 53. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? Trace 13
  • 54. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? ∙ Runtime Trace 13
  • 55. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? ∙ Runtime ∙ Parser Trace 13
  • 56. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? ∙ Runtime ∙ Parser ∙ Binary logging Trace 13
  • 57. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? ∙ Runtime ∙ Parser ∙ Binary logging ∙ InnoDB Trace 13
  • 58. ∙ I_S.OPTIMIZER_TRACE is good addition for Optimizer ∙ But what about other parts of the server? ∙ Runtime ∙ Parser ∙ Binary logging ∙ InnoDB ∙ Bug #84620 Trace 13
  • 59. ∙ General ∙ Bug #83626 Collect per column usage data in performance_schema ∙ Bug #71755 Provide per partition summary information in PERFORMANCE_SCHEMA ∙ Bug #81020 performance_schema: Please add optimizer usage statistics ∙ Bug #55171 How much sort_buffer_size are actually used? More tracing requests 14
  • 60. ∙ General ∙ InnoDB ∙ Bug #81611 Add P_S metrics to collect compressed page bytes vs other types written to relog ∙ Bug #78448 Provide better metrics on innodb_sort_buffer_size usage ∙ Bug #71698 Add instrumentation for the doublewrite buffer and undo segments More tracing requests 14
  • 61. ∙ SHOW PROCESSLIST has multiple states Vague stages 15
  • 62. ∙ SHOW PROCESSLIST has multiple states ∙ Some of them are clear Vague stages 15
  • 63. ∙ SHOW PROCESSLIST has multiple states ∙ Some of them are clear ∙ But what do these mean? ∙ System lock ∙ statistics ∙ freeing items ∙ Sending data ∙ cleaning up ∙ closing tables ∙ end Vague stages 15
  • 64. ∙ SHOW PROCESSLIST has multiple states ∙ Some of them are clear ∙ But what do these mean? ∙ Bug #57544 Vague stages 15
  • 65. ∙ SHOW PROCESSLIST has multiple states ∙ Some of them are clear ∙ But what do these mean? ∙ Bug #57544 ∙ Bug#72083 Vague stages 15
  • 66. ∙ SHOW PROCESSLIST has multiple states ∙ Some of them are clear ∙ But what do these mean? ∙ Bug #57544 ∙ Bug#72083 ∙ Bug #84615 Vague stages 15
  • 68. ∙ Feature requests ∙ Comments ∙ Fixes To better MySQL! 17