SlideShare a Scribd company logo
Managing MariaDB Server operations with
Percona Toolkit
April, 10, 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
Percona Users
3
Percona Toolkit
4
∙ pt-summary: hardware and OS
∙ System overall report
∙ Details
Processor
Memory
Disks
Network
∙
Processlist
Notable processes
First Data Source in Many Support Tickets
5
∙ pt-summary: hardware and OS
∙ pt-mysql-summary: MySQL server
∙ Overall information
∙
Processlist summary
∙ Groupped configuration and statistics
Misses new additions: innodb_io_capacity, Performance Schema, ...
∙
Incompatible with MariaDB 10.2.5
First Data Source in Many Support Tickets
5
∙ pt-summary: hardware and OS
∙ pt-mysql-summary: MySQL server
∙ pt-stalk: everything runtime
∙
Operating system
∙ Hardware
∙ Processlist
∙ InnoDB
∙
Statistics
∙ More
First Data Source in Many Support Tickets
5
How Customers Use Percona Toolkit
∙ pt-archive
$ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees 
–dest h=127.0.0.1,P=16000,u=root,D=test 
–file=$HOME/tmp/employees.txt 
–where "1=1" –limit=1000 –commit-each
Archive Data
7
∙ pt-archive
$ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees 
–dest h=127.0.0.1,P=16000,u=root,D=test 
–file=$HOME/tmp/employees.txt 
–where "1=1" –limit=1000 –commit-each
∙ Other useful options
∙
purge
∙
ignore/replace
∙ txn-size/bulk-delete/bulk-insert
∙ check-slave-lag
∙ sleep
Archive Data
7
∙ pt-archive
$ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees 
–dest h=127.0.0.1,P=16000,u=root,D=test 
–file=$HOME/tmp/employees.txt 
–where "1=1" –limit=1000 –commit-each
∙ Other useful options
∙
Known caveats
∙ It uses FORCE INDEX(PRIMARY) even if
secondary index will perform better: lp:1450951
∙
It is not crash-protected: lp:1451548
Archive Data
7
∙ pt-duplicate-key-checker
$ pt-duplicate-key-checker h=127.0.0.1,P=16000,u=root -d test -t employees
# ########################################################################
# test.employees
# ########################################################################
# Key birth_date_2 ends with a prefix of the clustered index
# Key definitions:
# KEY ‘birth_date_2‘ (‘birth_date‘,‘emp_no‘)
# PRIMARY KEY (‘emp_no‘),
# Column types:
# ‘birth_date‘ date not null
# ‘emp_no‘ int(11) not null
# To shorten this duplicate clustered index, execute:
ALTER TABLE ‘test‘.‘employees‘ DROP INDEX ‘birth_date_2‘,
ADD INDEX ‘birth_date_2‘ (‘birth_date‘);
Find Duplicate Keys
8
∙ pt-duplicate-key-checker
# ########################################################################
# Summary of indexes
# ########################################################################
# Size Duplicate Indexes 2099230
# Total Duplicate Indexes 1
# Total Indexes 3
Find Duplicate Keys
8
∙ pt-duplicate-key-checker
∙ Known issues
∙ Does not work with UNIQUE indexes well
lp:1436399. lp:1668534
$ pt-duplicate-key-checker h=127.0.0.1,P=16000,u=root -d test -t employees
...
# Key birth_date ends with a prefix of the clustered index
# Key definitions:
# UNIQUE KEY ‘birth_date‘ (‘birth_date‘,‘emp_no‘),
# PRIMARY KEY (‘emp_no‘),
# Column types:
# ‘birth_date‘ date not null
# ‘emp_no‘ int(11) not null
# To shorten this duplicate clustered index, execute:
ALTER TABLE ‘test‘.‘employees‘ DROP INDEX ‘birth_date‘,
ADD INDEX ‘birth_date‘ (‘birth_date‘);
...
Find Duplicate Keys
8
∙ pt-query-digest
∙ Supports:
∙
Progress report
$ pt-query-digest /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 10% 04:06 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 23% 03:19 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 33% 02:56 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 44% 02:28 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 54% 02:06 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 64% 01:37 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 74% 01:12 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 84% 00:43 remain
/mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 94% 00:14 remain
Analyze Slow Log
9
∙ pt-query-digest
∙ Supports:
∙ Summary
# 281.8s user time, 210ms system time, 37.46M rss, 105.50M vsz
# Current date: Fri Apr 7 17:52:42 2017
# Hostname: Thinkie
# Files: /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log
# Overall: 2.30M total, 82 unique, 1.48k QPS, 1.27x concurrency __________
# Time range: 2017-04-07 17:17:24 to 17:43:15
# Attribute total min max avg 95% stddev median
# ============ ======= ======= ======= ======= ======= ======= =======
# Exec time 1971s 13us 2s 855us 98us 13ms 23us
# Lock time 31s 0 721ms 13us 36us 2ms
# Rows sent 3.40M 0 100 1.55 0.99 11.69
# Rows examine 7.64M 0 300 3.48 0.99 26.43
# Rows affecte 47.36k 0 1000 0.02 0 1.28
# Query size 44.77M 5 187.54k 20.38 51.63 249.22 11.95
Analyze Slow Log
9
∙ pt-query-digest
∙ Supports:
∙ Top queries profile
# Profile
# Rank Query ID Response time Calls R/Call V/M Item
# ==== ================== =============== ======= ====== ===== ===========
# 1 0x813031B8BBC3B329 1754.2446 89.0% 11077 0.1584 0.05 COMMIT
# 2 0xD30AD7E3079ABCE7 58.8457 3.0% 11238 0.0052 0.33 UPDATE sbtest?
# 3 0x6C099B0B73EA7633 52.9969 2.7% 2010599 0.0000 0.00
# 4 0xE96B374065B13356 23.8898 1.2% 11191 0.0021 0.38 UPDATE sbtest?
# MISC 0xMISC 81.3937 4.1% 259100 0.0003 0.0 <78 ITEMS>
Analyze Slow Log
9
∙ pt-query-digest
∙ Supports:
∙ Individual query reports
# Query 2: 44.77 QPS, 0.23x concurrency, ID 0xD30AD7E3079ABCE7 at byte 40361702
# This item is included in the report because it matches –limit.
# Scores: V/M = 0.33
# Time range: 2017-04-07 17:18:17 to 17:22:28
# Attribute pct total min max avg 95% stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 0 11238
# Exec time 2 59s 68us 2s 5ms 287us 42ms 108us
# Lock time 21 7s 25us 721ms 585us 73us 13ms 38us
...
# Converted for EXPLAIN
# EXPLAIN /*!50100 PARTITIONS*/
select k=k+1 from sbtest2 where id=500G
Analyze Slow Log
9
∙ pt-query-digest
∙ Supports:
∙
More
Filters
History tables
Samples
Different sources: slow, general, binary log files; SHOW PROCESSLIST, tcpdump
Analyze Slow Log
9
∙ pt-online-schema-change
$ pt-online-schema-change h=127.0.0.1,P=16000,u=root,D=employees,t=employees 
–alter="add index(first_name,last_name)" –execute
No slaves found. See –recursion-method if host Thinkie has slaves.
Not checking slave lag because no slaves were found and –check-slave-lag was not specified.
Operation, tries, wait:
analyze_table, 10, 1
copy_rows, 10, 0.25
create_triggers, 10, 1
drop_triggers, 10, 1
swap_tables, 10, 1
update_foreign_keys, 10, 1
Altering ‘employees‘.‘employees‘...
Creating new table...
Created new table employees._employees_new OK.
Altering new table...
Altered ‘employees‘.‘_employees_new‘ OK.
Change Table Definitions Online
10
∙ pt-online-schema-change
2017-04-08T00:16:12 Creating triggers...
2017-04-08T00:16:12 Created triggers OK.
2017-04-08T00:16:12 Copying approximately 300744 rows...
Copying ‘employees‘.‘employees‘: 77% 00:08 remain
2017-04-08T00:17:12 Copied rows OK.
2017-04-08T00:17:12 Swapping tables...
2017-04-08T00:17:13 Swapped original and new tables OK.
2017-04-08T00:17:13 Dropping old table...
2017-04-08T00:17:14 Dropped old table ‘employees‘.‘_employees_old‘ OK.
2017-04-08T00:17:14 Dropping triggers...
2017-04-08T00:17:14 Dropped triggers OK.
Successfully altered ‘employees‘.‘employees‘.
Change Table Definitions Online
10
∙ pt-online-schema-change
∙ Custom options
∙
chunk-size
∙ critical-load
∙ max-lag
∙ sleep
∙
noswap-tables
∙ nodrop-old-table
∙ More
Change Table Definitions Online
10
∙ pt-kill
pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill
Kill Connections Stealing Resources
11
∙ pt-kill
pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill
∙ What to kill
∙ match-[all|command|db|host|info|state|user]
∙
ignore-*
∙ busy-time
Query, which runs longer than specified
Kill Connections Stealing Resources
11
∙ pt-kill
pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill
∙ What to kill
∙
When to kill
∙ interval
30 seconds
busy-time/2
Kill Connections Stealing Resources
11
∙ pt-kill
pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill
∙ What to kill
∙
When to kill
∙ How long to run
∙ run-time
∙
Default: forever
sentinel file supported
Kill Connections Stealing Resources
11
∙ pt-heartbeat
$ pt-heartbeat -D test –update -h 127.0.0.1 -P3371 -u root –daemonize
$ pt-heartbeat -D test –monitor -h 127.0.0.1 -P3372 -u root
0.00s [ 0.02s, 0.00s, 0.00s ]
0.00s [ 0.02s, 0.00s, 0.00s ]
0.00s [ 0.02s, 0.00s, 0.00s ]
1.00s [ 0.03s, 0.01s, 0.00s ]
2.00s [ 0.07s, 0.01s, 0.00s ]
3.00s [ 0.12s, 0.02s, 0.01s ]
...
19.00s [ 3.18s, 0.64s, 0.21s ]
11.00s [ 3.37s, 0.67s, 0.22s ]
10.00s [ 3.53s, 0.71s, 0.24s ]
6.00s [ 3.63s, 0.73s, 0.24s ]
0.00s [ 3.63s, 0.73s, 0.24s ]
0.00s [ 3.63s, 0.73s, 0.24s ]
...
Manage and Configure Replication
12
∙ pt-heartbeat
∙ pt-slave-find
∙ Short format
$ pt-slave-find –report-format hostname h=127.0.0.1,P=3371,u=root
127.0.0.1:3371
+- 127.0.0.1:3374
+- 127.0.0.1:3372
+- 127.0.0.1:3373
Manage and Configure Replication
12
∙ pt-heartbeat
∙ pt-slave-find
∙ Default format
$ pt-slave-find h=127.0.0.1,P=3371,u=root
127.0.0.1:3371
Version 5.7.17-11-27.20-log
Server ID 1
Uptime 17:32:12 (started 2017-04-07T00:22:47)
Replication Is a slave, has 2 slaves connected, is not read_only
Filters
Binary logging ROW
Slave status 0 seconds behind, running, no errors
Slave mode STRICT
...
Manage and Configure Replication
12
∙ pt-heartbeat
∙ pt-slave-find
∙ pt-table-checksum
$ pt-table-checksum h=127.0.0.1,P=16000,u=root
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
04-08T02:07:21 0 0 99 1 0 0.776 mtr.global_suppressions
04-08T02:07:22 0 0 0 1 0 0.707 mtr.test_suppressions
04-08T02:07:23 0 0 0 1 0 0.803 mysql.column_stats
04-08T02:07:25 0 0 0 1 0 1.583 mysql.columns_priv
...
04-08T02:07:47 0 0 4 1 0 1.334 mysql.user
04-08T02:07:49 0 3 1000 5 0 2.555 sbtest.sbtest1
Manage and Configure Replication
12
∙ pt-heartbeat
∙ pt-slave-find
∙ pt-table-checksum
∙
pt-table-sync
$ pt-table-sync h=127.0.0.1,P=16001,u=root –sync-to-master –execute –verbose
# Syncing P=16001,h=127.0.0.1,u=root
# DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE
# 0 0 0 0 Nibble 02:18:26 02:18:26 0 mysql.column_stats
...
# 0 101 0 0 Chunk 02:18:26 02:18:27 2 sbtest.sbtest1
Manage and Configure Replication
12
∙ With Percona Toolkit you easily can
∙
Troubleshoot
∙ Improve performance
∙ Manage data
∙ Manage replication
∙
Perform custom tasks automatically
∙ More
Summary
13
∙ Official Documentation
∙
Percona Toolkit at Percona Blog
More Information
14
???
Time for questions
15
http://www.slideshare.net/SvetaSmirnova
https://twitter.com/svetsmirnova
https://github.com/svetasmirnova
Thank You!
16
DATABASE PERFORMANCE
MATTERS

More Related Content

What's hot

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
Sveta Smirnova
 
Performance Schema in Action: demo
Performance Schema in Action: demoPerformance Schema in Action: demo
Performance Schema in Action: demo
Sveta 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 Galera
Sveta Smirnova
 
Preparse Query Rewrite Plugins
Preparse Query Rewrite PluginsPreparse Query Rewrite Plugins
Preparse Query Rewrite Plugins
Sveta 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 tears
Sveta Smirnova
 
New features in Performance Schema 5.7 in action
New features in Performance Schema 5.7 in actionNew features in Performance Schema 5.7 in action
New features in Performance Schema 5.7 in action
Sveta Smirnova
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
Karwin Software Solutions LLC
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: Demystified
Sveta Smirnova
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
Mydbops
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
Wagner Bianchi
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
HighLoad2009
 
MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)
Seungmin Yu
 
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
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
Kenny Gryp
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
I Goo Lee
 
Open Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second eraOpen Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second era
Sveta Smirnova
 
MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016
Dave Stokes
 
Query logging with proxysql
Query logging with proxysqlQuery logging with proxysql
Query logging with proxysql
YoungHeon (Roy) Kim
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replication
mysqlops
 

What's hot (20)

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
 
Performance Schema in Action: demo
Performance Schema in Action: demoPerformance Schema in Action: demo
Performance Schema in Action: demo
 
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
 
Preparse Query Rewrite Plugins
Preparse Query Rewrite PluginsPreparse Query Rewrite Plugins
Preparse Query Rewrite Plugins
 
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
 
New features in Performance Schema 5.7 in action
New features in Performance Schema 5.7 in actionNew features in Performance Schema 5.7 in action
New features in Performance Schema 5.7 in action
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: Demystified
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
 
MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)
 
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?
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
Open Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second eraOpen Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second era
 
MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016
 
Query logging with proxysql
Query logging with proxysqlQuery logging with proxysql
Query logging with proxysql
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replication
 

Similar to Managing MariaDB Server operations with Percona Toolkit

Replication MongoDB Days 2013
Replication MongoDB Days 2013Replication MongoDB Days 2013
Replication MongoDB Days 2013
Randall Hunt
 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
Wim Godden
 
MySQL Cluster Performance Tuning - 2013 MySQL User Conference
MySQL Cluster Performance Tuning - 2013 MySQL User ConferenceMySQL Cluster Performance Tuning - 2013 MySQL User Conference
MySQL Cluster Performance Tuning - 2013 MySQL User Conference
Severalnines
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
Wim Godden
 
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines SlidesMySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
Severalnines
 
Apache Cassandra at Macys
Apache Cassandra at MacysApache Cassandra at Macys
Apache Cassandra at Macys
DataStax Academy
 
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacketCsw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
CanSecWest
 
Beyond php it's not (just) about the code
Beyond php   it's not (just) about the codeBeyond php   it's not (just) about the code
Beyond php it's not (just) about the code
Wim Godden
 
Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools
Ceph Community
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
Wim Godden
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
Wim Godden
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud Stroage
Alex Lau
 
Beyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the codeBeyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the code
Wim Godden
 
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
Intel Software Brasil
 
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
Masayuki Matsushita
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
Ivan Babrou
 
Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™ Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™
Intel Software Brasil
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
Emanuel Calvo
 
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRestPGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
PGDay.Amsterdam
 
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
Valeriy Kravchuk
 

Similar to Managing MariaDB Server operations with Percona Toolkit (20)

Replication MongoDB Days 2013
Replication MongoDB Days 2013Replication MongoDB Days 2013
Replication MongoDB Days 2013
 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
 
MySQL Cluster Performance Tuning - 2013 MySQL User Conference
MySQL Cluster Performance Tuning - 2013 MySQL User ConferenceMySQL Cluster Performance Tuning - 2013 MySQL User Conference
MySQL Cluster Performance Tuning - 2013 MySQL User Conference
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines SlidesMySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
 
Apache Cassandra at Macys
Apache Cassandra at MacysApache Cassandra at Macys
Apache Cassandra at Macys
 
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacketCsw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
 
Beyond php it's not (just) about the code
Beyond php   it's not (just) about the codeBeyond php   it's not (just) about the code
Beyond php it's not (just) about the code
 
Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools Ceph Day Shanghai - Ceph Performance Tools
Ceph Day Shanghai - Ceph Performance Tools
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud Stroage
 
Beyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the codeBeyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the code
 
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
Computação Paralela: Benefícios e Desafios - Intel Software Conference 2013
 
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
クラウドDWHとしても進化を続けるPivotal Greenplumご紹介
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
 
Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™ Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
 
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRestPGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
PGDay.Amsterdam 2018 - Stefan Fercot - Save your data with pgBackRest
 
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
 

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 Monitoring
Sveta Smirnova
 
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
Sveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
Sveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta 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 Business
Sveta 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]s
Sveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
Sveta 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 и улучшения Percona
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
Что нужно знать о трёх топовых фичах MySQL
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
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
Sveta Smirnova
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Sveta Smirnova
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
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
 

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 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
 
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
 
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
 
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?
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
 
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

ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
narinav14
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 

Recently uploaded (20)

ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 

Managing MariaDB Server operations with Percona Toolkit

  • 1. Managing MariaDB Server operations with Percona Toolkit April, 10, 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
  • 5. ∙ pt-summary: hardware and OS ∙ System overall report ∙ Details Processor Memory Disks Network ∙ Processlist Notable processes First Data Source in Many Support Tickets 5
  • 6. ∙ pt-summary: hardware and OS ∙ pt-mysql-summary: MySQL server ∙ Overall information ∙ Processlist summary ∙ Groupped configuration and statistics Misses new additions: innodb_io_capacity, Performance Schema, ... ∙ Incompatible with MariaDB 10.2.5 First Data Source in Many Support Tickets 5
  • 7. ∙ pt-summary: hardware and OS ∙ pt-mysql-summary: MySQL server ∙ pt-stalk: everything runtime ∙ Operating system ∙ Hardware ∙ Processlist ∙ InnoDB ∙ Statistics ∙ More First Data Source in Many Support Tickets 5
  • 8. How Customers Use Percona Toolkit
  • 9. ∙ pt-archive $ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees –dest h=127.0.0.1,P=16000,u=root,D=test –file=$HOME/tmp/employees.txt –where "1=1" –limit=1000 –commit-each Archive Data 7
  • 10. ∙ pt-archive $ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees –dest h=127.0.0.1,P=16000,u=root,D=test –file=$HOME/tmp/employees.txt –where "1=1" –limit=1000 –commit-each ∙ Other useful options ∙ purge ∙ ignore/replace ∙ txn-size/bulk-delete/bulk-insert ∙ check-slave-lag ∙ sleep Archive Data 7
  • 11. ∙ pt-archive $ pt-archiver –source h=127.0.0.1,P=16000,u=root,D=employees,t=employees –dest h=127.0.0.1,P=16000,u=root,D=test –file=$HOME/tmp/employees.txt –where "1=1" –limit=1000 –commit-each ∙ Other useful options ∙ Known caveats ∙ It uses FORCE INDEX(PRIMARY) even if secondary index will perform better: lp:1450951 ∙ It is not crash-protected: lp:1451548 Archive Data 7
  • 12. ∙ pt-duplicate-key-checker $ pt-duplicate-key-checker h=127.0.0.1,P=16000,u=root -d test -t employees # ######################################################################## # test.employees # ######################################################################## # Key birth_date_2 ends with a prefix of the clustered index # Key definitions: # KEY ‘birth_date_2‘ (‘birth_date‘,‘emp_no‘) # PRIMARY KEY (‘emp_no‘), # Column types: # ‘birth_date‘ date not null # ‘emp_no‘ int(11) not null # To shorten this duplicate clustered index, execute: ALTER TABLE ‘test‘.‘employees‘ DROP INDEX ‘birth_date_2‘, ADD INDEX ‘birth_date_2‘ (‘birth_date‘); Find Duplicate Keys 8
  • 13. ∙ pt-duplicate-key-checker # ######################################################################## # Summary of indexes # ######################################################################## # Size Duplicate Indexes 2099230 # Total Duplicate Indexes 1 # Total Indexes 3 Find Duplicate Keys 8
  • 14. ∙ pt-duplicate-key-checker ∙ Known issues ∙ Does not work with UNIQUE indexes well lp:1436399. lp:1668534 $ pt-duplicate-key-checker h=127.0.0.1,P=16000,u=root -d test -t employees ... # Key birth_date ends with a prefix of the clustered index # Key definitions: # UNIQUE KEY ‘birth_date‘ (‘birth_date‘,‘emp_no‘), # PRIMARY KEY (‘emp_no‘), # Column types: # ‘birth_date‘ date not null # ‘emp_no‘ int(11) not null # To shorten this duplicate clustered index, execute: ALTER TABLE ‘test‘.‘employees‘ DROP INDEX ‘birth_date‘, ADD INDEX ‘birth_date‘ (‘birth_date‘); ... Find Duplicate Keys 8
  • 15. ∙ pt-query-digest ∙ Supports: ∙ Progress report $ pt-query-digest /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 10% 04:06 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 23% 03:19 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 33% 02:56 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 44% 02:28 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 54% 02:06 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 64% 01:37 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 74% 01:12 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 84% 00:43 remain /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log: 94% 00:14 remain Analyze Slow Log 9
  • 16. ∙ pt-query-digest ∙ Supports: ∙ Summary # 281.8s user time, 210ms system time, 37.46M rss, 105.50M vsz # Current date: Fri Apr 7 17:52:42 2017 # Hostname: Thinkie # Files: /mariadb-10.2.5-linux-x86_64/mysqld.1/mysqld-slow.log # Overall: 2.30M total, 82 unique, 1.48k QPS, 1.27x concurrency __________ # Time range: 2017-04-07 17:17:24 to 17:43:15 # Attribute total min max avg 95% stddev median # ============ ======= ======= ======= ======= ======= ======= ======= # Exec time 1971s 13us 2s 855us 98us 13ms 23us # Lock time 31s 0 721ms 13us 36us 2ms # Rows sent 3.40M 0 100 1.55 0.99 11.69 # Rows examine 7.64M 0 300 3.48 0.99 26.43 # Rows affecte 47.36k 0 1000 0.02 0 1.28 # Query size 44.77M 5 187.54k 20.38 51.63 249.22 11.95 Analyze Slow Log 9
  • 17. ∙ pt-query-digest ∙ Supports: ∙ Top queries profile # Profile # Rank Query ID Response time Calls R/Call V/M Item # ==== ================== =============== ======= ====== ===== =========== # 1 0x813031B8BBC3B329 1754.2446 89.0% 11077 0.1584 0.05 COMMIT # 2 0xD30AD7E3079ABCE7 58.8457 3.0% 11238 0.0052 0.33 UPDATE sbtest? # 3 0x6C099B0B73EA7633 52.9969 2.7% 2010599 0.0000 0.00 # 4 0xE96B374065B13356 23.8898 1.2% 11191 0.0021 0.38 UPDATE sbtest? # MISC 0xMISC 81.3937 4.1% 259100 0.0003 0.0 <78 ITEMS> Analyze Slow Log 9
  • 18. ∙ pt-query-digest ∙ Supports: ∙ Individual query reports # Query 2: 44.77 QPS, 0.23x concurrency, ID 0xD30AD7E3079ABCE7 at byte 40361702 # This item is included in the report because it matches –limit. # Scores: V/M = 0.33 # Time range: 2017-04-07 17:18:17 to 17:22:28 # Attribute pct total min max avg 95% stddev median # ============ === ======= ======= ======= ======= ======= ======= ======= # Count 0 11238 # Exec time 2 59s 68us 2s 5ms 287us 42ms 108us # Lock time 21 7s 25us 721ms 585us 73us 13ms 38us ... # Converted for EXPLAIN # EXPLAIN /*!50100 PARTITIONS*/ select k=k+1 from sbtest2 where id=500G Analyze Slow Log 9
  • 19. ∙ pt-query-digest ∙ Supports: ∙ More Filters History tables Samples Different sources: slow, general, binary log files; SHOW PROCESSLIST, tcpdump Analyze Slow Log 9
  • 20. ∙ pt-online-schema-change $ pt-online-schema-change h=127.0.0.1,P=16000,u=root,D=employees,t=employees –alter="add index(first_name,last_name)" –execute No slaves found. See –recursion-method if host Thinkie has slaves. Not checking slave lag because no slaves were found and –check-slave-lag was not specified. Operation, tries, wait: analyze_table, 10, 1 copy_rows, 10, 0.25 create_triggers, 10, 1 drop_triggers, 10, 1 swap_tables, 10, 1 update_foreign_keys, 10, 1 Altering ‘employees‘.‘employees‘... Creating new table... Created new table employees._employees_new OK. Altering new table... Altered ‘employees‘.‘_employees_new‘ OK. Change Table Definitions Online 10
  • 21. ∙ pt-online-schema-change 2017-04-08T00:16:12 Creating triggers... 2017-04-08T00:16:12 Created triggers OK. 2017-04-08T00:16:12 Copying approximately 300744 rows... Copying ‘employees‘.‘employees‘: 77% 00:08 remain 2017-04-08T00:17:12 Copied rows OK. 2017-04-08T00:17:12 Swapping tables... 2017-04-08T00:17:13 Swapped original and new tables OK. 2017-04-08T00:17:13 Dropping old table... 2017-04-08T00:17:14 Dropped old table ‘employees‘.‘_employees_old‘ OK. 2017-04-08T00:17:14 Dropping triggers... 2017-04-08T00:17:14 Dropped triggers OK. Successfully altered ‘employees‘.‘employees‘. Change Table Definitions Online 10
  • 22. ∙ pt-online-schema-change ∙ Custom options ∙ chunk-size ∙ critical-load ∙ max-lag ∙ sleep ∙ noswap-tables ∙ nodrop-old-table ∙ More Change Table Definitions Online 10
  • 23. ∙ pt-kill pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill Kill Connections Stealing Resources 11
  • 24. ∙ pt-kill pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill ∙ What to kill ∙ match-[all|command|db|host|info|state|user] ∙ ignore-* ∙ busy-time Query, which runs longer than specified Kill Connections Stealing Resources 11
  • 25. ∙ pt-kill pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill ∙ What to kill ∙ When to kill ∙ interval 30 seconds busy-time/2 Kill Connections Stealing Resources 11
  • 26. ∙ pt-kill pt-kill h=127.0.0.1,P=16000,u=root –match-command Sleep –kill ∙ What to kill ∙ When to kill ∙ How long to run ∙ run-time ∙ Default: forever sentinel file supported Kill Connections Stealing Resources 11
  • 27. ∙ pt-heartbeat $ pt-heartbeat -D test –update -h 127.0.0.1 -P3371 -u root –daemonize $ pt-heartbeat -D test –monitor -h 127.0.0.1 -P3372 -u root 0.00s [ 0.02s, 0.00s, 0.00s ] 0.00s [ 0.02s, 0.00s, 0.00s ] 0.00s [ 0.02s, 0.00s, 0.00s ] 1.00s [ 0.03s, 0.01s, 0.00s ] 2.00s [ 0.07s, 0.01s, 0.00s ] 3.00s [ 0.12s, 0.02s, 0.01s ] ... 19.00s [ 3.18s, 0.64s, 0.21s ] 11.00s [ 3.37s, 0.67s, 0.22s ] 10.00s [ 3.53s, 0.71s, 0.24s ] 6.00s [ 3.63s, 0.73s, 0.24s ] 0.00s [ 3.63s, 0.73s, 0.24s ] 0.00s [ 3.63s, 0.73s, 0.24s ] ... Manage and Configure Replication 12
  • 28. ∙ pt-heartbeat ∙ pt-slave-find ∙ Short format $ pt-slave-find –report-format hostname h=127.0.0.1,P=3371,u=root 127.0.0.1:3371 +- 127.0.0.1:3374 +- 127.0.0.1:3372 +- 127.0.0.1:3373 Manage and Configure Replication 12
  • 29. ∙ pt-heartbeat ∙ pt-slave-find ∙ Default format $ pt-slave-find h=127.0.0.1,P=3371,u=root 127.0.0.1:3371 Version 5.7.17-11-27.20-log Server ID 1 Uptime 17:32:12 (started 2017-04-07T00:22:47) Replication Is a slave, has 2 slaves connected, is not read_only Filters Binary logging ROW Slave status 0 seconds behind, running, no errors Slave mode STRICT ... Manage and Configure Replication 12
  • 30. ∙ pt-heartbeat ∙ pt-slave-find ∙ pt-table-checksum $ pt-table-checksum h=127.0.0.1,P=16000,u=root TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE 04-08T02:07:21 0 0 99 1 0 0.776 mtr.global_suppressions 04-08T02:07:22 0 0 0 1 0 0.707 mtr.test_suppressions 04-08T02:07:23 0 0 0 1 0 0.803 mysql.column_stats 04-08T02:07:25 0 0 0 1 0 1.583 mysql.columns_priv ... 04-08T02:07:47 0 0 4 1 0 1.334 mysql.user 04-08T02:07:49 0 3 1000 5 0 2.555 sbtest.sbtest1 Manage and Configure Replication 12
  • 31. ∙ pt-heartbeat ∙ pt-slave-find ∙ pt-table-checksum ∙ pt-table-sync $ pt-table-sync h=127.0.0.1,P=16001,u=root –sync-to-master –execute –verbose # Syncing P=16001,h=127.0.0.1,u=root # DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE # 0 0 0 0 Nibble 02:18:26 02:18:26 0 mysql.column_stats ... # 0 101 0 0 Chunk 02:18:26 02:18:27 2 sbtest.sbtest1 Manage and Configure Replication 12
  • 32. ∙ With Percona Toolkit you easily can ∙ Troubleshoot ∙ Improve performance ∙ Manage data ∙ Manage replication ∙ Perform custom tasks automatically ∙ More Summary 13
  • 33. ∙ Official Documentation ∙ Percona Toolkit at Percona Blog More Information 14