SlideShare a Scribd company logo
1 of 31
Download to read offline
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Performance Tuning Basics
Korea LUG
Ryusuke Kajiyama / 梶山隆輔
MySQL Global Business Unit
MySQL Sales Consulting Senior Manager, Asia Pacific & Japan
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
What is "Performance"
Key points in MySQL architecture
Key commands, logs, tools
Parameters
1
2
3
4
3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
What is "Performance"
Key points in MySQL architecture
Key commands, logs, tools
Parameters
1
2
3
4
4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Defining Performance
• Simple word but many meanings
• Main objective:
– Users (direct or indirect) should be satisfied
• Most typical performance metrics
– Throughput
– Latency / Response time
– Scalability
– Combined metrics
Starvation
transactions/time
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Queuing Theory
• Multi User applications
• Request waits in queue before being processed
• User response time = queuing delay + service time
– Non high tech example – support call center.
• “Hockey Stick” - queuing delay grows rapidly when system getting close to
saturation
• Need to improve queuing delay or service time
to improve performance
• Improving service time reduces queuing delay
Connections
ResponseTime
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Service Time: Key to the hotspot
• Main Question – where does service time comes from ?
– network, cpu, disk, locks...
• Direct Measurements
– Sum up all query times from web pages
• Indirect measurements
– CPU usage
– Disk IO latency
– Network traffic
– Load Average
– Number of running queries
– etc.
7
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Benchmark Tests
• Great tool to:
– Quantify application performance
– Measure performance effect of the changes
– Validate Scalability
– Plan deployment
• But
– Can be very misleading if done wrong
– Need to be able to read results correctly
• Typical Errors
– Testing with 1GB size with 100GB in production
– Using uniform distribution
• “Harry Potter” ordered as frequent as Zulu dictionary
– Testing in single user scenario
8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Business side of optimization
• Performance costs money, whatever road you take
• Investigate different possibilities
– Better hardware could be cheaper than a major rewrite
• How much performance/scalability/reliability do you need ?
– 99.999% could be a lot more expensive than 99.9%
– Is peak traffic requirements 100x average or just 3x ?
• Take a look at whole picture
– Is this the largest risk/bottleneck ?
• Identify which optimizations are critical for business
– Optimization of “everything” is often waste of resources
– What is the cost of suboptimal performance ?
9
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
What is "Performance"
Key points in MySQL architecture
Key commands, logs, tools
Parameters
1
2
3
4
10
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 11
MySQL Server Architecture
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
What is "Performance"
Key points in MySQL architecture
Key commands, logs, tools
Parameters
1
2
3
4
12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Basic1: Checking Server Configurations
• The MySQL server is controlled by “System Variables”
• Set via:
– Option File: my.cnf / my.ini
– Temporary change: SET [GLOBAL] <vriable>=<value>
• Can be per connection (LOCAL) or server wide (GLOBAL)
13
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Basic2: Checking Status of Server
• Monitor system performance using “Status Variables”
• Knowing internal commands of one query
Mysql> FLUSH STATUS; <run query>; SHOW STATUS;
• Checking status periodically
shell> mysqladmin -u -p ... ex -i 15 -r | grep -v ‘ 0 ‘
http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html
14
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Monitoring Queries - Slow Query Log
#Time: 08073101 16:25:24
#User@Host: root[root] @ localhost [127.0.0.1]
#Query_time: 8 Lock_time: 0 Rows_sent: 20 Rows_examined: 243661
SELECT part_num FROM `inventory`.`parts` WHERE
(`ven` = "foo") ORDER BY `delivery_datetime` DESC LIMIT 100;
Pros
• Logs queries that took longer than X (user defined)
• Logs queries that do not use indexes (5.0 and higher)
• Includes data needed to trace offending queries
Cons
• Growth must be managed using FLUSH LOGS
• Entries must be parsed/sorted for relevance
• mysqldumpslow helps, but still tedious, takes time
15
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Pros
• Shows current processes
• Shows status of executing queries
• Includes data needed to trace offending
queries
16
Con
Scripting needed to:
• automate,
• integrate with Slow Query Log,
• Aggregate/parse results for analysis,
• notify DBA of problem
Monitoring Queries – SHOW PROCESSLIST;
mysql> SHOW FULL PROCESSLISTG
******** 1. row *****************
Id: 1
User: MyUser
Host: localhost
db: inventory
Command: Query
Time: 1030455
State: Sending Data
Info: SELECT part_num from ‘inv’;
…..
2 rows in set (0.00 sec)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Analyze
• How indexes are being used (or not…)
• required filesorts
• What tables, columns are being queried
17
Fix/Tune - involves iterations of:
• Add/alter indexes
• Alter tables, columns, datatypes
• Alter query structure
• Test, 10 GOTO 10 until done
Fixing Problem Queries – EXPLAIN;
EXPLAIN SELECT part_num
FROM `inventory`.`parts`
WHERE (`ven` = "foo")
ORDER BY `delivery_datetime`
DESC LIMIT 100;G
******** 1. row *************
ID: 1
select_type: SIMPLE
table: parts
type: ref
possible_keys: ven, part#
key: ven
key_len: 3
ref: null
rows: 872
Extra: Using WHERE
1 row in set (0.00 sec)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Optimizer - Cost Info in JSON EXPLAIN
• Expanded JSON EXPLAIN
– Now includes all available cost info
– Used for Visual Explain In MySQL Workbench
{
"query_block": {
"select_id": 1,
"cost_info": {
"query_cost": "200.40"
},
"table": {
"table_name": "nicer_but_slower_film_list",
"access_type": "ALL",
"rows_examined_per_scan": 992,
"rows_produced_per_join": 992,
"filtered": 100,
"cost_info": {
"read_cost": "2.00",
"eval_cost": "198.40",
"prefix_cost": "200.40",
"data_read_per_join": "852K"
},
"used_columns": [
"FID",
"title",
"description",
"category",
"price",
"length",
"rating",
"actors"
],
...
18
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
How to read – Box Colors
From high cost to low
• Red
– ALL
– A full table scan
• Orange
– Full index scan
– Full Text Index Search
• Green
– Range (>, <, …)
– Reference
• Blue – Good
– EQ_REF
19
Colors are by JOIN / Access Method Type
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: SYS Schema
Helper objects for DBAs, Developers and Operations staff
• Helps simplify DBA / Ops tasks
- Monitor server health, user, host statistics
- Spot, diagnose, and tune performance issues
• Easy to understand views with insights into
- IO hot spots, Locking, Costly SQL statements
- Schema, table and index statistics
• SYS is similar to
- Oracle V$ catalog views
- Microsoft SQL DMVs (Dynamic Mgmnt Views)
20
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Monitor
21
• Start monitoring MySQL in 10 minutes
• Real-time MySQL performance and
availability monitoring
• Visually find & fix problem queries
• Disk monitoring for capacity planning
• Cloud friendly architecture
– No agents required
– Policy driven configuration
– Easy integration with DevOps tools
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
“With the MySQL Query Analyzer, we were able to identify
and analyze problematic SQL code, and triple our database
performance. More importantly, we were able to
accomplish this in three days, rather than taking weeks.”
Keith Souhrada
Software Development Engineer
Big Fish Games
Enterprise Query Analyzer
22
• Real-time query performance
• Visual correlation graphs
• Find & fix expensive queries
• Detailed query statistics
• Query Response Time index (QRTi)
– “Quality of Service” (QoS) measurement
for each query
– QoS measurement for a server, group, or
every instance
– Single metric for query performance
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Scalability : Thread Pool
23
Performance
Security
Availability
• Provides 20x better scalability
• Plugin improves sustained performance as connections grow
• Each connection assigned to
thread group via round robin
• Threads are prioritized and
statements queued
• Protection from DOS attacks
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
What is "Performance"
Key points in MySQL architecture
Key commands, logs, tools
Parameters
1
2
3
4
24
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Server Connections & Threads
• max_connections (151)
– number of connections server will allow. May
run out of memory if too high, because of per
connections memory usage
• thread_cache_size (8)
– Keep up to this amount of threads “cached”
after disconnect
– Typical setting
max_connections/3
25
Client2 ClientN
Connection Thread Pool
Client1
mysql> show status;
• Max_used_connections
– check if it matches max_connections,
too low value or sign of overload
• Threads_created
– thread_cache misses
– should be low.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Connection Thread Work Buffers
• sort_buffer_size (2M)
– Memory to allocate for sort. Will use disk based
sort for larger data sets. Often fine at 512K or
1M
• other buffers, read, read_rnd,
etc… smaller defaults often OK
• You can change dynamically if large sort
operation is needed in batch operation etc
26
Client2 ClientN
Connection Thread Pool
Client1
mysql> show status;
• Sort_merge_passes
– number of passes made during file
merge sort.
– check if file sort needs to be done
at all
– use index if possible
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Server Query Cache
• query_cache_size (0)
– Amount of memory to use for query cache
– Typically 32M is fine, some databases need 128M
• query_cache_type (ON)
– Worst case performance overhead is about 15%-20%
– Favors servers with higher SELECT/WRITE ratios
• Best Practice
– Set to DEMAND
– Add SQL_CACHE to appropriate queries
27
Connection Thread Pool
Parser Query 101101
Query Cache
mysql> show status;
• Qcache_hits, Qcache_inserts
• hits/inserts cache hit ratio, if small,
maybe disable query cache
• Qcache_lowmem_prunes
• times older queries were removed
due to low memory, need to increase
query_cache_size if high
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
InnoDB Performance Tips
• innodb_buffer_pool_size
– 80% of memory on Innodb only system
– caches data & indexes unlike MyISAM
• innodb_log_file_size
– A key parameter for write performance
– Recovery time is no more an issue.
– Bigger is better for write QPS stability
• innodb_flush_log_at_trx_commit
– 1 (slow) will flush (fsync) log at each commit. Truly ACID
– 2 (fast) will only flush log buffer to OS cache on commit,
sync to disk once/sec.
– 0 (fastest) will flush (fsync) log every second or so
• innodb_file_per_table
– Always good choice to distribute i/o
– Default ON from 5.6
Storage Engines
 InnoDB
 MyISAM
 MERGE
 MEMORY
ARCHIVE
mysql> SHOW ENGINE
INNODB STATUS;
Great way to see what is going
on inside InnoDB, hard to
parse
• File IO
• Buffer Pool
• Log activity
• Row activity
28
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
InnoDB Performance Tips (Cont.)
• innodb_flush_method = O_DIRECT
– Not to consume OS cache
• innodb_buffer_pool_instances (5.5+)
– To avoid mutex contention
– 2 or more in can
• innodb_io_capacity (5.5+)
– Enlarge if you have fast disks
– Default 200 is good for 2 disks striped
• innodb_read_io_threads (5.5+)
• innodb_write_io_threads (5.5+)
– Enlarge if you have fast disks
– Default 4 is usually good enough
Storage Engines
 InnoDB
 MyISAM
 MERGE
 MEMORY
ARCHIVE
mysql> SHOW ENGINE
INNODB STATUS;
Great way to see what is going
on inside InnoDB, hard to
parse
• File IO
• Buffer Pool
• Log activity
• Row activity
29
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 30
MySQL Performance Tuning Basics

More Related Content

What's hot

Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave databaseWipro
 
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)Ontico
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMorgan Tocker
 
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北Ivan Tu
 
Troubleshooting redis
Troubleshooting redisTroubleshooting redis
Troubleshooting redisDaeMyung Kang
 
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Community
 
iSCSI Target Support for Ceph
iSCSI Target Support for Ceph iSCSI Target Support for Ceph
iSCSI Target Support for Ceph Ceph Community
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
 
Ceph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA UpdateCeph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA UpdateDanielle Womboldt
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDBI Goo Lee
 
Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)Ceph Community
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetest8kobayashi
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
Nagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - FailoverNagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - FailoverNagios
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios
 
MaxScale for Effective MySQL Meetup NYC - 14.01.21
MaxScale for Effective MySQL Meetup NYC - 14.01.21MaxScale for Effective MySQL Meetup NYC - 14.01.21
MaxScale for Effective MySQL Meetup NYC - 14.01.21Ivan Zoratti
 
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSAccelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSCeph Community
 
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...Cloud Native Day Tel Aviv
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureDanielle Womboldt
 

What's hot (20)

Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave database
 
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北
3 周彦偉-隨需而變 我所經歷的my sql架構變遷﹣周彥偉﹣acmug@2015.12台北
 
Troubleshooting redis
Troubleshooting redisTroubleshooting redis
Troubleshooting redis
 
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
 
iSCSI Target Support for Ceph
iSCSI Target Support for Ceph iSCSI Target Support for Ceph
iSCSI Target Support for Ceph
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQL
 
Ceph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA UpdateCeph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA Update
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDB
 
Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetes
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Nagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - FailoverNagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - Failover
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
 
MaxScale for Effective MySQL Meetup NYC - 14.01.21
MaxScale for Effective MySQL Meetup NYC - 14.01.21MaxScale for Effective MySQL Meetup NYC - 14.01.21
MaxScale for Effective MySQL Meetup NYC - 14.01.21
 
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSAccelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
 
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 

Similar to MySQL Performance Tuning Basics

MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015Mario Beck
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016Geir Høydalsvik
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise MonitorMario Beck
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMark Swarbrick
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreAbel Flórez
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeAbel Flórez
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Ted Wennmark
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7Olivier DASINI
 
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 Geir Høydalsvik
 
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMark Swarbrick
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16Sumi Ryu
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...GeneXus
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...OracleMySQL
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmapslidethanks
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmapslidethanks
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
 

Similar to MySQL Performance Tuning Basics (20)

MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
 
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmap
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmap
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 

More from Tommy Lee

새하늘과 새땅-리차드 미들턴
새하늘과 새땅-리차드 미들턴새하늘과 새땅-리차드 미들턴
새하늘과 새땅-리차드 미들턴Tommy Lee
 
하나님의 아픔의신학 20180131
하나님의 아픔의신학 20180131하나님의 아픔의신학 20180131
하나님의 아픔의신학 20180131Tommy Lee
 
그리스도인의미덕 통합
그리스도인의미덕 통합그리스도인의미덕 통합
그리스도인의미덕 통합Tommy Lee
 
그리스도인의미덕 1장-4장
그리스도인의미덕 1장-4장그리스도인의미덕 1장-4장
그리스도인의미덕 1장-4장Tommy Lee
 
예수왕의복음
예수왕의복음예수왕의복음
예수왕의복음Tommy Lee
 
Grub2 and troubleshooting_ol7_boot_problems
Grub2 and troubleshooting_ol7_boot_problemsGrub2 and troubleshooting_ol7_boot_problems
Grub2 and troubleshooting_ol7_boot_problemsTommy Lee
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUITommy Lee
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM BluemixTommy Lee
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-RanchersTommy Lee
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AITommy Lee
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AsibleTommy Lee
 
제3회난공불락 오픈소스 인프라세미나 - lustre
제3회난공불락 오픈소스 인프라세미나 - lustre제3회난공불락 오픈소스 인프라세미나 - lustre
제3회난공불락 오픈소스 인프라세미나 - lustreTommy Lee
 
제3회난공불락 오픈소스 인프라세미나 - Nagios
제3회난공불락 오픈소스 인프라세미나 - Nagios제3회난공불락 오픈소스 인프라세미나 - Nagios
제3회난공불락 오픈소스 인프라세미나 - NagiosTommy Lee
 
제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJuTommy Lee
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - PacemakerTommy Lee
 
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전새하늘과새땅 북톡-3부-우주적회복에대한신약의비전
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전Tommy Lee
 
새하늘과새땅 북톡-2부-구약에서의총체적구원
새하늘과새땅 북톡-2부-구약에서의총체적구원새하늘과새땅 북톡-2부-구약에서의총체적구원
새하늘과새땅 북톡-2부-구약에서의총체적구원Tommy Lee
 
새하늘과새땅 Part1
새하늘과새땅 Part1새하늘과새땅 Part1
새하늘과새땅 Part1Tommy Lee
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개Tommy Lee
 

More from Tommy Lee (20)

새하늘과 새땅-리차드 미들턴
새하늘과 새땅-리차드 미들턴새하늘과 새땅-리차드 미들턴
새하늘과 새땅-리차드 미들턴
 
하나님의 아픔의신학 20180131
하나님의 아픔의신학 20180131하나님의 아픔의신학 20180131
하나님의 아픔의신학 20180131
 
그리스도인의미덕 통합
그리스도인의미덕 통합그리스도인의미덕 통합
그리스도인의미덕 통합
 
그리스도인의미덕 1장-4장
그리스도인의미덕 1장-4장그리스도인의미덕 1장-4장
그리스도인의미덕 1장-4장
 
예수왕의복음
예수왕의복음예수왕의복음
예수왕의복음
 
Grub2 and troubleshooting_ol7_boot_problems
Grub2 and troubleshooting_ol7_boot_problemsGrub2 and troubleshooting_ol7_boot_problems
Grub2 and troubleshooting_ol7_boot_problems
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
 
제3회난공불락 오픈소스 인프라세미나 - lustre
제3회난공불락 오픈소스 인프라세미나 - lustre제3회난공불락 오픈소스 인프라세미나 - lustre
제3회난공불락 오픈소스 인프라세미나 - lustre
 
제3회난공불락 오픈소스 인프라세미나 - Nagios
제3회난공불락 오픈소스 인프라세미나 - Nagios제3회난공불락 오픈소스 인프라세미나 - Nagios
제3회난공불락 오픈소스 인프라세미나 - Nagios
 
제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
 
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전새하늘과새땅 북톡-3부-우주적회복에대한신약의비전
새하늘과새땅 북톡-3부-우주적회복에대한신약의비전
 
새하늘과새땅 북톡-2부-구약에서의총체적구원
새하늘과새땅 북톡-2부-구약에서의총체적구원새하늘과새땅 북톡-2부-구약에서의총체적구원
새하늘과새땅 북톡-2부-구약에서의총체적구원
 
새하늘과새땅 Part1
새하늘과새땅 Part1새하늘과새땅 Part1
새하늘과새땅 Part1
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

MySQL Performance Tuning Basics

  • 1.
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Performance Tuning Basics Korea LUG Ryusuke Kajiyama / 梶山隆輔 MySQL Global Business Unit MySQL Sales Consulting Senior Manager, Asia Pacific & Japan
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda What is "Performance" Key points in MySQL architecture Key commands, logs, tools Parameters 1 2 3 4 3
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda What is "Performance" Key points in MySQL architecture Key commands, logs, tools Parameters 1 2 3 4 4
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Defining Performance • Simple word but many meanings • Main objective: – Users (direct or indirect) should be satisfied • Most typical performance metrics – Throughput – Latency / Response time – Scalability – Combined metrics Starvation transactions/time 5
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Queuing Theory • Multi User applications • Request waits in queue before being processed • User response time = queuing delay + service time – Non high tech example – support call center. • “Hockey Stick” - queuing delay grows rapidly when system getting close to saturation • Need to improve queuing delay or service time to improve performance • Improving service time reduces queuing delay Connections ResponseTime 6
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Service Time: Key to the hotspot • Main Question – where does service time comes from ? – network, cpu, disk, locks... • Direct Measurements – Sum up all query times from web pages • Indirect measurements – CPU usage – Disk IO latency – Network traffic – Load Average – Number of running queries – etc. 7
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Benchmark Tests • Great tool to: – Quantify application performance – Measure performance effect of the changes – Validate Scalability – Plan deployment • But – Can be very misleading if done wrong – Need to be able to read results correctly • Typical Errors – Testing with 1GB size with 100GB in production – Using uniform distribution • “Harry Potter” ordered as frequent as Zulu dictionary – Testing in single user scenario 8
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Business side of optimization • Performance costs money, whatever road you take • Investigate different possibilities – Better hardware could be cheaper than a major rewrite • How much performance/scalability/reliability do you need ? – 99.999% could be a lot more expensive than 99.9% – Is peak traffic requirements 100x average or just 3x ? • Take a look at whole picture – Is this the largest risk/bottleneck ? • Identify which optimizations are critical for business – Optimization of “everything” is often waste of resources – What is the cost of suboptimal performance ? 9
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda What is "Performance" Key points in MySQL architecture Key commands, logs, tools Parameters 1 2 3 4 10
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 11 MySQL Server Architecture
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda What is "Performance" Key points in MySQL architecture Key commands, logs, tools Parameters 1 2 3 4 12
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Basic1: Checking Server Configurations • The MySQL server is controlled by “System Variables” • Set via: – Option File: my.cnf / my.ini – Temporary change: SET [GLOBAL] <vriable>=<value> • Can be per connection (LOCAL) or server wide (GLOBAL) 13
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Basic2: Checking Status of Server • Monitor system performance using “Status Variables” • Knowing internal commands of one query Mysql> FLUSH STATUS; <run query>; SHOW STATUS; • Checking status periodically shell> mysqladmin -u -p ... ex -i 15 -r | grep -v ‘ 0 ‘ http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html 14
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Monitoring Queries - Slow Query Log #Time: 08073101 16:25:24 #User@Host: root[root] @ localhost [127.0.0.1] #Query_time: 8 Lock_time: 0 Rows_sent: 20 Rows_examined: 243661 SELECT part_num FROM `inventory`.`parts` WHERE (`ven` = "foo") ORDER BY `delivery_datetime` DESC LIMIT 100; Pros • Logs queries that took longer than X (user defined) • Logs queries that do not use indexes (5.0 and higher) • Includes data needed to trace offending queries Cons • Growth must be managed using FLUSH LOGS • Entries must be parsed/sorted for relevance • mysqldumpslow helps, but still tedious, takes time 15
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Pros • Shows current processes • Shows status of executing queries • Includes data needed to trace offending queries 16 Con Scripting needed to: • automate, • integrate with Slow Query Log, • Aggregate/parse results for analysis, • notify DBA of problem Monitoring Queries – SHOW PROCESSLIST; mysql> SHOW FULL PROCESSLISTG ******** 1. row ***************** Id: 1 User: MyUser Host: localhost db: inventory Command: Query Time: 1030455 State: Sending Data Info: SELECT part_num from ‘inv’; ….. 2 rows in set (0.00 sec)
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Analyze • How indexes are being used (or not…) • required filesorts • What tables, columns are being queried 17 Fix/Tune - involves iterations of: • Add/alter indexes • Alter tables, columns, datatypes • Alter query structure • Test, 10 GOTO 10 until done Fixing Problem Queries – EXPLAIN; EXPLAIN SELECT part_num FROM `inventory`.`parts` WHERE (`ven` = "foo") ORDER BY `delivery_datetime` DESC LIMIT 100;G ******** 1. row ************* ID: 1 select_type: SIMPLE table: parts type: ref possible_keys: ven, part# key: ven key_len: 3 ref: null rows: 872 Extra: Using WHERE 1 row in set (0.00 sec)
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: Optimizer - Cost Info in JSON EXPLAIN • Expanded JSON EXPLAIN – Now includes all available cost info – Used for Visual Explain In MySQL Workbench { "query_block": { "select_id": 1, "cost_info": { "query_cost": "200.40" }, "table": { "table_name": "nicer_but_slower_film_list", "access_type": "ALL", "rows_examined_per_scan": 992, "rows_produced_per_join": 992, "filtered": 100, "cost_info": { "read_cost": "2.00", "eval_cost": "198.40", "prefix_cost": "200.40", "data_read_per_join": "852K" }, "used_columns": [ "FID", "title", "description", "category", "price", "length", "rating", "actors" ], ... 18
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | How to read – Box Colors From high cost to low • Red – ALL – A full table scan • Orange – Full index scan – Full Text Index Search • Green – Range (>, <, …) – Reference • Blue – Good – EQ_REF 19 Colors are by JOIN / Access Method Type
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: SYS Schema Helper objects for DBAs, Developers and Operations staff • Helps simplify DBA / Ops tasks - Monitor server health, user, host statistics - Spot, diagnose, and tune performance issues • Easy to understand views with insights into - IO hot spots, Locking, Costly SQL statements - Schema, table and index statistics • SYS is similar to - Oracle V$ catalog views - Microsoft SQL DMVs (Dynamic Mgmnt Views) 20
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Monitor 21 • Start monitoring MySQL in 10 minutes • Real-time MySQL performance and availability monitoring • Visually find & fix problem queries • Disk monitoring for capacity planning • Cloud friendly architecture – No agents required – Policy driven configuration – Easy integration with DevOps tools
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | “With the MySQL Query Analyzer, we were able to identify and analyze problematic SQL code, and triple our database performance. More importantly, we were able to accomplish this in three days, rather than taking weeks.” Keith Souhrada Software Development Engineer Big Fish Games Enterprise Query Analyzer 22 • Real-time query performance • Visual correlation graphs • Find & fix expensive queries • Detailed query statistics • Query Response Time index (QRTi) – “Quality of Service” (QoS) measurement for each query – QoS measurement for a server, group, or every instance – Single metric for query performance
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Scalability : Thread Pool 23 Performance Security Availability • Provides 20x better scalability • Plugin improves sustained performance as connections grow • Each connection assigned to thread group via round robin • Threads are prioritized and statements queued • Protection from DOS attacks
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda What is "Performance" Key points in MySQL architecture Key commands, logs, tools Parameters 1 2 3 4 24
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Server Connections & Threads • max_connections (151) – number of connections server will allow. May run out of memory if too high, because of per connections memory usage • thread_cache_size (8) – Keep up to this amount of threads “cached” after disconnect – Typical setting max_connections/3 25 Client2 ClientN Connection Thread Pool Client1 mysql> show status; • Max_used_connections – check if it matches max_connections, too low value or sign of overload • Threads_created – thread_cache misses – should be low.
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Connection Thread Work Buffers • sort_buffer_size (2M) – Memory to allocate for sort. Will use disk based sort for larger data sets. Often fine at 512K or 1M • other buffers, read, read_rnd, etc… smaller defaults often OK • You can change dynamically if large sort operation is needed in batch operation etc 26 Client2 ClientN Connection Thread Pool Client1 mysql> show status; • Sort_merge_passes – number of passes made during file merge sort. – check if file sort needs to be done at all – use index if possible
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Server Query Cache • query_cache_size (0) – Amount of memory to use for query cache – Typically 32M is fine, some databases need 128M • query_cache_type (ON) – Worst case performance overhead is about 15%-20% – Favors servers with higher SELECT/WRITE ratios • Best Practice – Set to DEMAND – Add SQL_CACHE to appropriate queries 27 Connection Thread Pool Parser Query 101101 Query Cache mysql> show status; • Qcache_hits, Qcache_inserts • hits/inserts cache hit ratio, if small, maybe disable query cache • Qcache_lowmem_prunes • times older queries were removed due to low memory, need to increase query_cache_size if high
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | InnoDB Performance Tips • innodb_buffer_pool_size – 80% of memory on Innodb only system – caches data & indexes unlike MyISAM • innodb_log_file_size – A key parameter for write performance – Recovery time is no more an issue. – Bigger is better for write QPS stability • innodb_flush_log_at_trx_commit – 1 (slow) will flush (fsync) log at each commit. Truly ACID – 2 (fast) will only flush log buffer to OS cache on commit, sync to disk once/sec. – 0 (fastest) will flush (fsync) log every second or so • innodb_file_per_table – Always good choice to distribute i/o – Default ON from 5.6 Storage Engines  InnoDB  MyISAM  MERGE  MEMORY ARCHIVE mysql> SHOW ENGINE INNODB STATUS; Great way to see what is going on inside InnoDB, hard to parse • File IO • Buffer Pool • Log activity • Row activity 28
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | InnoDB Performance Tips (Cont.) • innodb_flush_method = O_DIRECT – Not to consume OS cache • innodb_buffer_pool_instances (5.5+) – To avoid mutex contention – 2 or more in can • innodb_io_capacity (5.5+) – Enlarge if you have fast disks – Default 200 is good for 2 disks striped • innodb_read_io_threads (5.5+) • innodb_write_io_threads (5.5+) – Enlarge if you have fast disks – Default 4 is usually good enough Storage Engines  InnoDB  MyISAM  MERGE  MEMORY ARCHIVE mysql> SHOW ENGINE INNODB STATUS; Great way to see what is going on inside InnoDB, hard to parse • File IO • Buffer Pool • Log activity • Row activity 29
  • 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 30