SlideShare a Scribd company logo
1 of 80
Download to read offline
MySQL Performance
for DevOps
Sveta Smirnova
Principal Support
Engineering Coordinator
l
• MySQL Support engineer
• Author of
• MySQL Troubleshooting
• JSON UDF functions
• FILTER clause for MySQL
• Speaker
• Percona Live, OOW, Fosdem,
DevConf, HighLoad...
Sveta Smirnova
•Introduction
•Memory
•Disk
•CPU
•Network
•Query Tuning
Table of Contents
3 ©2022 | Percona
Introduction
• Database server
• 25+ years of history
• Popular forks
• Percona Server for MySQL
• MariaDB Server
• Replication support from the beginning
Percona Operator for MySQL
What is MySQL?
5 ©2022 | Percona
Connectors: C, JDBC, ODBC, Python, ...
Connection Pool: Authentication, Caches
SQL interface
Parser
Optimizer
Caches and Buffers:
Global
Engine-specific
Storage engines: InnoDB, MyRocks, ...
File system: Data, Index, logs, other files
- mysqld
- Connectors
- Optimizer
- Caches
- Storage Engines
- Management
MySQL Architecture
6 ©2022 | Percona
Query
Configuration
Hardware
What Affects Performance?
7 ©2022 | Percona
• SET [GLOBAL] var = NEW VALUE
How to Change System Variables
8 ©2022 | Percona
• SET [GLOBAL] var = NEW VALUE
• Command-line option
--var=new value
How to Change System Variables
9 ©2022 | Percona
• SET [GLOBAL] var = NEW VALUE
• Command-line option
--var=new value
• Configuration file
In the default location
• Specified by option --defaults-file
How to Change System Variables
10 ©2022 | Percona
In deploy/cr.yaml
spec:
secretsName: my-cluster-secrets
pxc:
...
configuration: |
[mysqld]
wsrep_debug=CLIENT
max_connections=250
How to Change with Kubernetes
11 ©2022 | Percona
In deploy/cr.yaml
In a ConfigMap
kubectl create configmap cluster1-pxc --from-file=my.cnf
How to Change with Kubernetes
12 ©2022 | Percona
In deploy/cr.yaml
In a ConfigMap
Using a Secret Object
How to Change with Kubernetes
13 ©2022 | Percona
Memory
• Frequently accessed data
• InnoDB buffer pool
• MyRocks recently inserted data
• Table and thread cache
Memory is Faster than Disk
15 ©2022 | Percona
• Frequently accessed data
• InnoDB buffer pool
• MyRocks recently inserted data
• Table and thread cache
• Temporary objects
• Implicit temporary tables
• Prepared statements
• User variables
Memory is Faster than Disk
16 ©2022 | Percona
• Frequently accessed data
• InnoDB buffer pool
• MyRocks recently inserted data
• Table and thread cache
• Temporary objects
• Implicit temporary tables
• Prepared statements
• User variables
• Frequently accessed data
should be in memory
Memory is Faster than Disk
17 ©2022 | Percona
• No swapping
• sysctl vm.swappiness=1
System Memory Configuration
18 ©2022 | Percona
• No swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Enable in BIOS
System Memory Configuration
19 ©2022 | Percona
• No swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Enable in BIOS
• Kubernetes
resources:
requests:
memory: 32G
...
# limits:
# memory: 32G
System Memory Configuration
20 ©2022 | Percona
• innodb buffer pool size
• Ideally should hold active data set
MySQL Memory Configuration
21 ©2022 | Percona
• innodb buffer pool size
• table open cache
• The number of open tables for all threads
• Increase when
Connections in the PROCESSLIST are waiting for opening a table
Value of global status variable Opened tables is larger than Open tables
MySQL Memory Configuration
22 ©2022 | Percona
• innodb buffer pool size
• table open cache
• table definition cache
• Size of the cache for table definitions
• Increase when
Value of Opened table definitions is larger than
Open table definitions
MySQL Memory Configuration
23 ©2022 | Percona
• innodb buffer pool size
• table open cache
• table definition cache
• Increase OS open files limit if needed
MySQL Memory Configuration
24 ©2022 | Percona
Disk
• Tables
• Log files
• Engine
• Replication
• Diagnostic
• Temporary files
MySQL Stores Data on the Disk
26 ©2022 | Percona
• Faster is better
• SSD
• NVMe
• Spinning disk
System Disk Configuration
27 ©2022 | Percona
• Faster is better
• SSD
• NVMe
• Spinning disk
• Parallel writes
System Disk Configuration
28 ©2022 | Percona
• Faster is better
• SSD
• NVMe
• Spinning disk
• Parallel writes
• Battery-backed cache
System Disk Configuration
29 ©2022 | Percona
• innodb log file size
• Should hold changes for an hour
InnoDB Disk Configuraiton
30 ©2022 | Percona
• innodb log file size
• Should hold changes for an hour
• Too low
InnoDB Disk Configuraiton
31 ©2022 | Percona
• innodb log file size
• Should hold changes for an hour
• Good
InnoDB Disk Configuraiton
32 ©2022 | Percona
• innodb log file size
• innodb io capacity
• Default is too small for fast disks
• Up to number of IOPS your disk can handle
• Do not set too high!
InnoDB Disk Configuraiton
33 ©2022 | Percona
• innodb log file size
• innodb io capacity
• innodb flush method
• In most cases: O DIRECT
• Test on your filesystem!
InnoDB Disk Configuraiton
34 ©2022 | Percona
• Changing these
compromize durability!
Synchronization
35 ©2022 | Percona
• Changing these
compromize durability!
• innodb flush log at trx commit
1: full ACID, default
Synchronization
36 ©2022 | Percona
• Changing these
compromize durability!
• innodb flush log at trx commit
1: full ACID, default
2: logs written at each commit, flushed per
second
MySQL can handle up to 1M INSERTs per second
Safe with PXC, Galera and InnoDB Clusters
Synchronization
37 ©2022 | Percona
• Changing these
compromize durability!
• innodb flush log at trx commit
1: full ACID, default
2: logs written at each commit, flushed per
second
0: logs are written and flushed once per second
Synchronization
38 ©2022 | Percona
• Changing these
compromize durability!
• innodb flush log at trx commit
1: full ACID, default
2: logs written at each commit, flushed per
second
0: logs are written and flushed once per second
• Once per second not guaranteed for 0 or 2
DDL can cause faster flushing
Scheduling may delay flushing
Synchronization
39 ©2022 | Percona
• Changing these
compromize durability!
• innodb flush log at trx commit
• sync binlog
0: Synchronization handled by the system
1: At each transaction commit, default
No transaction lost
N: After N binary log group commits
In case of power or OS crash not flushed transactions can be lost
Synchronization
40 ©2022 | Percona
CPU
• One thread per connection
• CPU used only for active threads
How MySQL Uses CPU
42 ©2022 | Percona
• One thread per connection
• CPU used only for active threads
• Background work by storage engines
How MySQL Uses CPU
43 ©2022 | Percona
Server
Storage Engine
Connection and Engine Threads
44 ©2022 | Percona
? <= CPU cores?
What Happens with Threads
45 ©2022 | Percona
? <= CPU cores?
Yes Executed simultaneously
What Happens with Threads
46 ©2022 | Percona
? <= CPU cores?
Yes Executed simultaneously
No Wait in a queue
What Happens with Threads
47 ©2022 | Percona
? <= CPU cores?
Yes Executed simultaneously
No Wait in a queue
? Does the disk support parallel write?
What Happens with Threads
48 ©2022 | Percona
? <= CPU cores?
Yes Executed simultaneously
No Wait in a queue
? Does the disk support parallel write?
Yes Write happens
What Happens with Threads
49 ©2022 | Percona
? <= CPU cores?
Yes Executed simultaneously
No Wait in a queue
? Does the disk support parallel write?
Yes Write happens
No Wait in a queue
What Happens with Threads
50 ©2022 | Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop >
/sys/block/DISK/queue/scheduler
or sudo echo deadline >
/sys/block/DISK/queue/scheduler
System CPU Configuration
51 ©2022 | Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop >
/sys/block/DISK/queue/scheduler
or sudo echo deadline >
/sys/block/DISK/queue/scheduler
• CPU governor
• Set to performance
System CPU Configuration
52 ©2022 | Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop >
/sys/block/DISK/queue/scheduler
or sudo echo deadline >
/sys/block/DISK/queue/scheduler
• CPU governor
• Set to performance
• More cores is better
System CPU Configuration
53 ©2022 | Percona
• Kubernetes
resources:
requests:
cpu: "16"
limits:
cpu: "32"
Kuberetes CPU Configuration
54 ©2022 | Percona
• innodb thread concurrency
• 0 or number of CPU cores
Thread Pool
MySQL CPU Configuration
55 ©2022 | Percona
Network
• User connections
• Replication
• Each replica creates one connection to the
source server
MySQL Uses Network for
57 ©2022 | Percona
• As fast as possible
• Speed of the line
RTT
• Bandwidth
• Stability
To avoid TCP packet re-submission
Network Should Be
58 ©2022 | Percona
• Clients can work
• Asynchronous replica will delay
• Synchronous clusters will be not functional
• Node disconnects with default options
• Very slow response times with adjusted
configuration
On the Internet connection
59 ©2022 | Percona
Query Tuning
• You communicate with database using
queries
• Even via NoSQL interface
• They are not SQL queries, but still queries
Heart of the application
61 ©2022 | Percona
• You communicate with database using
queries
• Even via NoSQL interface
• They are not SQL queries, but still queries
• Data, that you request, matters
• 1,000,000,000 rows
vs 1 row
Heart of the application
62 ©2022 | Percona
Query sent
Connection Pool:
Authentication, Caches;
SQL interface; Parser
Optimizer
Storage engines
Hardware
Query execution workflow
63 ©2022 | Percona
d001
d003
d008
d009
d003******
d009******
d008******
d009******
d001******
d003******
d009******
d008******
d009******
d001******
d008******
d008******
- B-Tree Mostly
- LSM Tree
- R-Tree Spatial
- Hash Memory SE
- Engine’s
MySQL Indexes
64 ©2022 | Percona
mysql> SELECT first_name, last_name, salary FROM employees
-> JOIN salaries USING(emp_no)
-> WHERE salary = (SELECT MAX(salary) FROM salaries);
+------------+-----------+--------+
| first_name | last_name | salary |
+------------+-----------+--------+
| Tokuyasu | Pesch | 158220 |
+------------+-----------+--------+
1 row in set (2,05 sec)
Effect of an Index
65 ©2022 | Percona
mysql> ALTER TABLE salaries ADD INDEX(salary);
Query OK, 0 rows affected (9,65 sec)
Records: 0 Duplicates: 0 Warnings: 0
Effect of an Index
66 ©2022 | Percona
mysql> SELECT first_name, last_name, salary FROM employees
-> JOIN salaries USING(emp_no)
-> WHERE salary = (SELECT MAX(salary) FROM salaries);
+------------+-----------+--------+
| first_name | last_name | salary |
+------------+-----------+--------+
| Tokuyasu | Pesch | 158220 |
+------------+-----------+--------+
1 row in set (0,00 sec)
Effect of an Index
67 ©2022 | Percona
MySQL Query Tuning for DevOps
How MySQL Indexes Work
68 ©2022 | Percona
• Temporary tables
• tmp table size
• max heap table size
• default tmp storage engine
Optimizer Configuration
69 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
JOIN conditions, not using indexes
Optimizer Configuration
70 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
• read buffer size
Caching indexes for ORDER BY
Bulk insert into partitions
Caching result of nesting queries
Optimizer Configuration
71 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
• read buffer size
• read rnd buffer size
Multi-Range Read optimization
Optimizer Configuration
72 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
• read buffer size
• read rnd buffer size
• select into buffer size
SELECT INTO OUTFILE
SELECT INTO DUMPFILE
Optimizer Configuration
73 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
• read buffer size
• read rnd buffer size
• select into buffer size
• sort buffer size
ORDER BY
GROUP BY
Optimizer Configuration
74 ©2022 | Percona
• Temporary tables
• Buffers for query execution
• join buffer size
• read buffer size
• read rnd buffer size
• select into buffer size
• sort buffer size
• Change only at the session level!
Optimizer Configuration
75 ©2022 | Percona
• Hardware
RAM: more is better
Disk: SSD or NVMe
CPU: more cores, better concurrency
Net: highest speed possible
Conclusion
76 ©2022 | Percona
• Hardware
• Configuration
• InnoDB
innodb buffer pool size
innodb log file size
innodb thread concurrency
innodb io capacity
innodb flush method
innodb flush log at trx commit
• Server
sync binlog
table open cache
table definition cache
Conclusion
77 ©2022 | Percona
• Hardware
• Configuration
• Query Performance
• Add indexes
• Adjust Optimization buffers
tmp table size
join buffer size
read buffer size
read rnd buffer size
select into buffer size
sort buffer size
Conclusion
78 ©2022 | Percona
Troubleshooting hardware resources
Troubleshooting configuration issues
MySQL Query Tuning for DevOps
Percona Monitoring and Management
Percona Kubernetes Operators
More information
79 ©2022 | Percona
SvetaSmirnova
svetasmirnova
@svetsmirnova
svetsmirnova
Thank you!
80 ©2022 | Percona

More Related Content

What's hot

ProxySQL for MySQL
ProxySQL for MySQLProxySQL for MySQL
ProxySQL for MySQLMydbops
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsFrederic Descamps
 
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0Frederic Descamps
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained Mydbops
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
 
MariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB plc
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?Alkin Tezuysal
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesFrederic Descamps
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewRené Cannaò
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinWagner Bianchi
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and EngineAbdul Manaf
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0Mayank Prasad
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...Jean-François Gagné
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바NeoClova
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDMydbops
 
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1Federico Campoli
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기I Goo Lee
 

What's hot (20)

ProxySQL for MySQL
ProxySQL for MySQLProxySQL for MySQL
ProxySQL for MySQL
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and Histograms
 
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0
preFOSDEM MySQL Day - Best Practices to Upgrade to MySQL 8.0
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 
MariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and Optimization
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and Engine
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTID
 
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 

Similar to MySQL Performance for DevOps

MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta 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
 
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin Honka
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin HonkaOSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin Honka
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin HonkaNETWAYS
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5UniFabric
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Fwdays
 
Percona Server for MySQL 8.0 @ Percona Live 2019
Percona Server for MySQL 8.0 @ Percona Live 2019Percona Server for MySQL 8.0 @ Percona Live 2019
Percona Server for MySQL 8.0 @ Percona Live 2019Laurynas Biveinis
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...DoKC
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...DoKC
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld
 
Summary Of Course Projects
Summary Of Course ProjectsSummary Of Course Projects
Summary Of Course Projectsawan2008
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesNETWAYS
 
High performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHigh performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHungWei Chiu
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?Kristofferson A
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...DataStax Academy
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsJulien Anguenot
 
Asynchronous design with Spring and RTI: 1M events per second
Asynchronous design with Spring and RTI: 1M events per secondAsynchronous design with Spring and RTI: 1M events per second
Asynchronous design with Spring and RTI: 1M events per secondStuart (Pid) Williams
 
Accelerated dataplanes integration and deployment
Accelerated dataplanes integration and deploymentAccelerated dataplanes integration and deployment
Accelerated dataplanes integration and deploymentOPNFV
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsCarlos Sierra
 
Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014marvin herrera
 

Similar to MySQL Performance for DevOps (20)

MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin Honka
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin HonkaOSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin Honka
OSMC 2022 | Let’s build a private cloud – how hard can it be? by Kevin Honka
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
 
Percona Server for MySQL 8.0 @ Percona Live 2019
Percona Server for MySQL 8.0 @ Percona Live 2019Percona Server for MySQL 8.0 @ Percona Live 2019
Percona Server for MySQL 8.0 @ Percona Live 2019
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
 
Accelerated SDN in Azure
Accelerated SDN in AzureAccelerated SDN in Azure
Accelerated SDN in Azure
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
 
Summary Of Course Projects
Summary Of Course ProjectsSummary Of Course Projects
Summary Of Course Projects
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin Charles
 
High performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHigh performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User Group
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 
Asynchronous design with Spring and RTI: 1M events per second
Asynchronous design with Spring and RTI: 1M events per secondAsynchronous design with Spring and RTI: 1M events per second
Asynchronous design with Spring and RTI: 1M events per second
 
Accelerated dataplanes integration and deployment
Accelerated dataplanes integration and deploymentAccelerated dataplanes integration and deployment
Accelerated dataplanes integration and deployment
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_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
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersSveta 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
 
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
 
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
 
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
 
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
 
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
 

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.х всё устраивает?
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
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
 
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?
 
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
 
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 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?
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Recently uploaded (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

MySQL Performance for DevOps

  • 1. MySQL Performance for DevOps Sveta Smirnova Principal Support Engineering Coordinator
  • 2. l • MySQL Support engineer • Author of • MySQL Troubleshooting • JSON UDF functions • FILTER clause for MySQL • Speaker • Percona Live, OOW, Fosdem, DevConf, HighLoad... Sveta Smirnova
  • 5. • Database server • 25+ years of history • Popular forks • Percona Server for MySQL • MariaDB Server • Replication support from the beginning Percona Operator for MySQL What is MySQL? 5 ©2022 | Percona
  • 6. Connectors: C, JDBC, ODBC, Python, ... Connection Pool: Authentication, Caches SQL interface Parser Optimizer Caches and Buffers: Global Engine-specific Storage engines: InnoDB, MyRocks, ... File system: Data, Index, logs, other files - mysqld - Connectors - Optimizer - Caches - Storage Engines - Management MySQL Architecture 6 ©2022 | Percona
  • 8. • SET [GLOBAL] var = NEW VALUE How to Change System Variables 8 ©2022 | Percona
  • 9. • SET [GLOBAL] var = NEW VALUE • Command-line option --var=new value How to Change System Variables 9 ©2022 | Percona
  • 10. • SET [GLOBAL] var = NEW VALUE • Command-line option --var=new value • Configuration file In the default location • Specified by option --defaults-file How to Change System Variables 10 ©2022 | Percona
  • 11. In deploy/cr.yaml spec: secretsName: my-cluster-secrets pxc: ... configuration: | [mysqld] wsrep_debug=CLIENT max_connections=250 How to Change with Kubernetes 11 ©2022 | Percona
  • 12. In deploy/cr.yaml In a ConfigMap kubectl create configmap cluster1-pxc --from-file=my.cnf How to Change with Kubernetes 12 ©2022 | Percona
  • 13. In deploy/cr.yaml In a ConfigMap Using a Secret Object How to Change with Kubernetes 13 ©2022 | Percona
  • 15. • Frequently accessed data • InnoDB buffer pool • MyRocks recently inserted data • Table and thread cache Memory is Faster than Disk 15 ©2022 | Percona
  • 16. • Frequently accessed data • InnoDB buffer pool • MyRocks recently inserted data • Table and thread cache • Temporary objects • Implicit temporary tables • Prepared statements • User variables Memory is Faster than Disk 16 ©2022 | Percona
  • 17. • Frequently accessed data • InnoDB buffer pool • MyRocks recently inserted data • Table and thread cache • Temporary objects • Implicit temporary tables • Prepared statements • User variables • Frequently accessed data should be in memory Memory is Faster than Disk 17 ©2022 | Percona
  • 18. • No swapping • sysctl vm.swappiness=1 System Memory Configuration 18 ©2022 | Percona
  • 19. • No swapping • sysctl vm.swappiness=1 • NUMA interleave • Enable in BIOS System Memory Configuration 19 ©2022 | Percona
  • 20. • No swapping • sysctl vm.swappiness=1 • NUMA interleave • Enable in BIOS • Kubernetes resources: requests: memory: 32G ... # limits: # memory: 32G System Memory Configuration 20 ©2022 | Percona
  • 21. • innodb buffer pool size • Ideally should hold active data set MySQL Memory Configuration 21 ©2022 | Percona
  • 22. • innodb buffer pool size • table open cache • The number of open tables for all threads • Increase when Connections in the PROCESSLIST are waiting for opening a table Value of global status variable Opened tables is larger than Open tables MySQL Memory Configuration 22 ©2022 | Percona
  • 23. • innodb buffer pool size • table open cache • table definition cache • Size of the cache for table definitions • Increase when Value of Opened table definitions is larger than Open table definitions MySQL Memory Configuration 23 ©2022 | Percona
  • 24. • innodb buffer pool size • table open cache • table definition cache • Increase OS open files limit if needed MySQL Memory Configuration 24 ©2022 | Percona
  • 25. Disk
  • 26. • Tables • Log files • Engine • Replication • Diagnostic • Temporary files MySQL Stores Data on the Disk 26 ©2022 | Percona
  • 27. • Faster is better • SSD • NVMe • Spinning disk System Disk Configuration 27 ©2022 | Percona
  • 28. • Faster is better • SSD • NVMe • Spinning disk • Parallel writes System Disk Configuration 28 ©2022 | Percona
  • 29. • Faster is better • SSD • NVMe • Spinning disk • Parallel writes • Battery-backed cache System Disk Configuration 29 ©2022 | Percona
  • 30. • innodb log file size • Should hold changes for an hour InnoDB Disk Configuraiton 30 ©2022 | Percona
  • 31. • innodb log file size • Should hold changes for an hour • Too low InnoDB Disk Configuraiton 31 ©2022 | Percona
  • 32. • innodb log file size • Should hold changes for an hour • Good InnoDB Disk Configuraiton 32 ©2022 | Percona
  • 33. • innodb log file size • innodb io capacity • Default is too small for fast disks • Up to number of IOPS your disk can handle • Do not set too high! InnoDB Disk Configuraiton 33 ©2022 | Percona
  • 34. • innodb log file size • innodb io capacity • innodb flush method • In most cases: O DIRECT • Test on your filesystem! InnoDB Disk Configuraiton 34 ©2022 | Percona
  • 35. • Changing these compromize durability! Synchronization 35 ©2022 | Percona
  • 36. • Changing these compromize durability! • innodb flush log at trx commit 1: full ACID, default Synchronization 36 ©2022 | Percona
  • 37. • Changing these compromize durability! • innodb flush log at trx commit 1: full ACID, default 2: logs written at each commit, flushed per second MySQL can handle up to 1M INSERTs per second Safe with PXC, Galera and InnoDB Clusters Synchronization 37 ©2022 | Percona
  • 38. • Changing these compromize durability! • innodb flush log at trx commit 1: full ACID, default 2: logs written at each commit, flushed per second 0: logs are written and flushed once per second Synchronization 38 ©2022 | Percona
  • 39. • Changing these compromize durability! • innodb flush log at trx commit 1: full ACID, default 2: logs written at each commit, flushed per second 0: logs are written and flushed once per second • Once per second not guaranteed for 0 or 2 DDL can cause faster flushing Scheduling may delay flushing Synchronization 39 ©2022 | Percona
  • 40. • Changing these compromize durability! • innodb flush log at trx commit • sync binlog 0: Synchronization handled by the system 1: At each transaction commit, default No transaction lost N: After N binary log group commits In case of power or OS crash not flushed transactions can be lost Synchronization 40 ©2022 | Percona
  • 41. CPU
  • 42. • One thread per connection • CPU used only for active threads How MySQL Uses CPU 42 ©2022 | Percona
  • 43. • One thread per connection • CPU used only for active threads • Background work by storage engines How MySQL Uses CPU 43 ©2022 | Percona
  • 44. Server Storage Engine Connection and Engine Threads 44 ©2022 | Percona
  • 45. ? <= CPU cores? What Happens with Threads 45 ©2022 | Percona
  • 46. ? <= CPU cores? Yes Executed simultaneously What Happens with Threads 46 ©2022 | Percona
  • 47. ? <= CPU cores? Yes Executed simultaneously No Wait in a queue What Happens with Threads 47 ©2022 | Percona
  • 48. ? <= CPU cores? Yes Executed simultaneously No Wait in a queue ? Does the disk support parallel write? What Happens with Threads 48 ©2022 | Percona
  • 49. ? <= CPU cores? Yes Executed simultaneously No Wait in a queue ? Does the disk support parallel write? Yes Write happens What Happens with Threads 49 ©2022 | Percona
  • 50. ? <= CPU cores? Yes Executed simultaneously No Wait in a queue ? Does the disk support parallel write? Yes Write happens No Wait in a queue What Happens with Threads 50 ©2022 | Percona
  • 51. • IO scheduler • [noop] or [deadline] • sudo echo noop > /sys/block/DISK/queue/scheduler or sudo echo deadline > /sys/block/DISK/queue/scheduler System CPU Configuration 51 ©2022 | Percona
  • 52. • IO scheduler • [noop] or [deadline] • sudo echo noop > /sys/block/DISK/queue/scheduler or sudo echo deadline > /sys/block/DISK/queue/scheduler • CPU governor • Set to performance System CPU Configuration 52 ©2022 | Percona
  • 53. • IO scheduler • [noop] or [deadline] • sudo echo noop > /sys/block/DISK/queue/scheduler or sudo echo deadline > /sys/block/DISK/queue/scheduler • CPU governor • Set to performance • More cores is better System CPU Configuration 53 ©2022 | Percona
  • 54. • Kubernetes resources: requests: cpu: "16" limits: cpu: "32" Kuberetes CPU Configuration 54 ©2022 | Percona
  • 55. • innodb thread concurrency • 0 or number of CPU cores Thread Pool MySQL CPU Configuration 55 ©2022 | Percona
  • 57. • User connections • Replication • Each replica creates one connection to the source server MySQL Uses Network for 57 ©2022 | Percona
  • 58. • As fast as possible • Speed of the line RTT • Bandwidth • Stability To avoid TCP packet re-submission Network Should Be 58 ©2022 | Percona
  • 59. • Clients can work • Asynchronous replica will delay • Synchronous clusters will be not functional • Node disconnects with default options • Very slow response times with adjusted configuration On the Internet connection 59 ©2022 | Percona
  • 61. • You communicate with database using queries • Even via NoSQL interface • They are not SQL queries, but still queries Heart of the application 61 ©2022 | Percona
  • 62. • You communicate with database using queries • Even via NoSQL interface • They are not SQL queries, but still queries • Data, that you request, matters • 1,000,000,000 rows vs 1 row Heart of the application 62 ©2022 | Percona
  • 63. Query sent Connection Pool: Authentication, Caches; SQL interface; Parser Optimizer Storage engines Hardware Query execution workflow 63 ©2022 | Percona
  • 65. mysql> SELECT first_name, last_name, salary FROM employees -> JOIN salaries USING(emp_no) -> WHERE salary = (SELECT MAX(salary) FROM salaries); +------------+-----------+--------+ | first_name | last_name | salary | +------------+-----------+--------+ | Tokuyasu | Pesch | 158220 | +------------+-----------+--------+ 1 row in set (2,05 sec) Effect of an Index 65 ©2022 | Percona
  • 66. mysql> ALTER TABLE salaries ADD INDEX(salary); Query OK, 0 rows affected (9,65 sec) Records: 0 Duplicates: 0 Warnings: 0 Effect of an Index 66 ©2022 | Percona
  • 67. mysql> SELECT first_name, last_name, salary FROM employees -> JOIN salaries USING(emp_no) -> WHERE salary = (SELECT MAX(salary) FROM salaries); +------------+-----------+--------+ | first_name | last_name | salary | +------------+-----------+--------+ | Tokuyasu | Pesch | 158220 | +------------+-----------+--------+ 1 row in set (0,00 sec) Effect of an Index 67 ©2022 | Percona
  • 68. MySQL Query Tuning for DevOps How MySQL Indexes Work 68 ©2022 | Percona
  • 69. • Temporary tables • tmp table size • max heap table size • default tmp storage engine Optimizer Configuration 69 ©2022 | Percona
  • 70. • Temporary tables • Buffers for query execution • join buffer size JOIN conditions, not using indexes Optimizer Configuration 70 ©2022 | Percona
  • 71. • Temporary tables • Buffers for query execution • join buffer size • read buffer size Caching indexes for ORDER BY Bulk insert into partitions Caching result of nesting queries Optimizer Configuration 71 ©2022 | Percona
  • 72. • Temporary tables • Buffers for query execution • join buffer size • read buffer size • read rnd buffer size Multi-Range Read optimization Optimizer Configuration 72 ©2022 | Percona
  • 73. • Temporary tables • Buffers for query execution • join buffer size • read buffer size • read rnd buffer size • select into buffer size SELECT INTO OUTFILE SELECT INTO DUMPFILE Optimizer Configuration 73 ©2022 | Percona
  • 74. • Temporary tables • Buffers for query execution • join buffer size • read buffer size • read rnd buffer size • select into buffer size • sort buffer size ORDER BY GROUP BY Optimizer Configuration 74 ©2022 | Percona
  • 75. • Temporary tables • Buffers for query execution • join buffer size • read buffer size • read rnd buffer size • select into buffer size • sort buffer size • Change only at the session level! Optimizer Configuration 75 ©2022 | Percona
  • 76. • Hardware RAM: more is better Disk: SSD or NVMe CPU: more cores, better concurrency Net: highest speed possible Conclusion 76 ©2022 | Percona
  • 77. • Hardware • Configuration • InnoDB innodb buffer pool size innodb log file size innodb thread concurrency innodb io capacity innodb flush method innodb flush log at trx commit • Server sync binlog table open cache table definition cache Conclusion 77 ©2022 | Percona
  • 78. • Hardware • Configuration • Query Performance • Add indexes • Adjust Optimization buffers tmp table size join buffer size read buffer size read rnd buffer size select into buffer size sort buffer size Conclusion 78 ©2022 | Percona
  • 79. Troubleshooting hardware resources Troubleshooting configuration issues MySQL Query Tuning for DevOps Percona Monitoring and Management Percona Kubernetes Operators More information 79 ©2022 | Percona