peter zaitsev - practical mysql performance optimization
TRANSCRIPT
![Page 1: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/1.jpg)
Peter Zaitsev,CEO, Percona
Los Angeles MySQL MeetupFebruary, 20, 2014
Practical MySQL Performance Optimization
![Page 2: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/2.jpg)
www.percona.com2
About Presentation
Define “Performance”
Provide Practical Approach to getting Performance you need
Talk about Tools you can use
![Page 3: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/3.jpg)
www.percona.com3
Focus on Thought Process
Right Approach to the problems is a key
It is hard to Google “how to approach things”
Easy to find a lot of specific advice once you know what you want to do
MySQL Performance Blog has a lot of specific information
High Performance MySQL Book
![Page 4: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/4.jpg)
www.percona.com4
Speaking about Performance
•Responsive
•Efficient
•Scalable
We mean
we want
system which is
![Page 5: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/5.jpg)
www.percona.com5
Good Enough
•Responsiveness
•Efficiency
•Scalability
System needs to be Good
Enoughin
![Page 6: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/6.jpg)
www.percona.com6
Focus on Application
• It does only as it impacts an Application
Database Performance
Does not Matter
• … and problem are we deal with
Database is a Tool we
use
![Page 7: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/7.jpg)
www.percona.com7
Things to Note
Not all Application Performance Problems come from MySQL
Not all Application Performance Problems which come from MySQL
• … are resolved on MySQL level
![Page 8: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/8.jpg)
www.percona.com8
Putting it in Practice
Look at Complete System
• Start with Architecture
Do not focus on tuning database alone
![Page 9: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/9.jpg)
www.percona.com9
What Databases Do ?
Databases Handle Queries
![Page 10: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/10.jpg)
www.percona.com10
Queries ?
Selects
Inserts
Updates
Deletes
Others
![Page 11: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/11.jpg)
www.percona.com11
What do we need from it ?
•Quickly
•Efficiently
•Reliably
To Handle
Our Queries
![Page 12: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/12.jpg)
www.percona.com12
Are those Right Queries ?
One of Architecture Questions
Changing how Application Logic translates to Queries is a great optimization
![Page 13: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/13.jpg)
www.percona.com13
Putting It in Practice
Look at Application Transactions
See what Queries they Use
Check out how those queries perform
![Page 14: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/14.jpg)
www.percona.com14
Things to Consider
• But avoid focus on extreme outliers
Look beyond
averages
• Daily and Weekly cycle
• Growth of load and Data Size
Make sure to look at
trends over time
![Page 15: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/15.jpg)
www.percona.com15
Tools to Consider
• pt-query-digest (Percona Toolkit)
• MySQL Enterprise Monitor
• Performance_Schema (MySQL 5.6+)
• Check out ps_helper
• Box Anemometer• https://github.com/box/Anemometer/wiki
• Percona Cloud Tools
• http://cloud.percona.com
![Page 16: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/16.jpg)
www.percona.com16
pt-query-digest example
![Page 17: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/17.jpg)
www.percona.com17
Top Queries
![Page 18: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/18.jpg)
www.percona.com18
Query Details
![Page 19: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/19.jpg)
www.percona.com19
More Query Details
![Page 20: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/20.jpg)
www.percona.com20
Percona Cloud Tools
![Page 21: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/21.jpg)
www.percona.com21
Server Profile
![Page 22: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/22.jpg)
www.percona.com22
Query Details
![Page 23: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/23.jpg)
www.percona.com23
Graphs!
![Page 24: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/24.jpg)
www.percona.com24
Process Support
Discover New Queries in the Application
Mark them as “Needing Attention” or “Reviewed”
Tag queries with information about application or user facing function
Discuss it with the team and record changes using Comments
![Page 25: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/25.jpg)
www.percona.com25
Query Performance always shows it
Workload Changes
Data Size
Changing Query Plans
Upgrading MySQL Version
Changing MySQL Settings
Hardware Changes
![Page 26: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/26.jpg)
www.percona.com26
Efficiency
Right Queries
Executed Most Efficiently
![Page 27: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/27.jpg)
www.percona.com27
Practical Metrics
How many rows are being scanned vs Sent ?
How much IO are we doing ?
Is there avoidable overhead ?
• Filesorts ?
• TMP Tables ? On Disk ?
![Page 28: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/28.jpg)
www.percona.com28
Areas of Improvement
Architecture
Hardware http://bit.ly/1dRNtaa
Schema and Queries http://bit.ly/1l1KBLN
MySQL version (and Variant)
MySQL Configuration http://bit.ly/1ctWAN9
![Page 29: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/29.jpg)
www.percona.com29
Advanced Registration Rate Ends March 2nd, 2014
Special Discount for Webinar Attendees:
Use Code PeterZ15 to receive 15% off of standard
rates (new registrations only)
http://bit.ly/MySQLUC2014
![Page 30: Peter Zaitsev - Practical MySQL Performance Optimization](https://reader033.vdocuments.site/reader033/viewer/2022052505/554f441bb4c905423f8b4772/html5/thumbnails/30.jpg)
www.percona.com30
How Percona Can Help
Support
RemoteDBA
Consulting