mysql 和 innodb 性能
DESCRIPTION
MySQL 和 InnoDB 性能 http://www.ossez.com/forum.php?mod=viewthread&tid=26844&fromuid=426 (出处: OSSEZ)TRANSCRIPT
MySQL and InnoDB Performance
Baron Schwartz | OSDC 2010
MySQL Architecture
MySQL Server
Storage Engines
Parser, Optimizer
Executor, Caches
InnoDB Storage Engine
• Transactional, ACID compliant
• Reliable, Stable
• Complex, Flexible
• A History of Poor Scalability
Thinking About Performance
Response TimeIs Everything
Response Time
R = W + S
Utilization
Res
po
nse
Tim
e
S
W
Response Time
R = W + S
Utilization
Res
po
nse
Tim
e
S
W
MySQL & InnoDB In Context
MySQL & InnoDB In Context
Operating Environment
MySQL Server
InnoDB
Operating Environment
RAM
CPUI/O
Network
Operating Environment
RAM
CPUI/O
Network
• Fast• Up to 24 Cores
• Up to 100's of GB
• RAID + BBU• Fast SAS Disks• SSD / FusionIO• XFS Filesystem• Deadline Scheduler
• High Bandwidth• Low Latency
MySQL Performance
Nested-Loop Joins and Subqueries
MySQL Performance
Cache Scalability
InnoDB's Single “Main Thread”
• Too Much Work! Purging, Flushing
• Main Thread Cannot Keep Up
Special-Purpose Threads
• Main Thread
• Purge Thread
• Multiple Read/Write IO Threads
InnoDB Mutex Contention
Buffer Pool
Splitting the Buffer Pool Mutex
Buffer Pool Flush List LRU Hash Free
Current InnoDB Bottlenecks
• Adaptive Hash Search Mutex
• Index Lock Mutex
• After These Are Solved, ???
How To Improve Performance
Measure Carefully
Proper diagnosis is 95% of the work
Use Good Tools
• New Relic
• MySQL Enterprise Monitor
• Cacti– http://code.google.com/p/mysql-cacti-templates/
• Maatkit
• GDB, strace, oprofile
Instrumentation is Key
• The best performance data is INSIDE MySQL
Percona Server with XtraDB
MySQL Server
Storage Engines
Parser, Optimizer
Executor, Caches
Tunability
Instrumentation
Diagnostics
Current Benchmarks
InnoDB -vs- XtraDB
http://tinyurl.com/xtradb-fusionio-jan-2010
XtraDB is much better than InnoDB in MySQL 5.1.
MySQL 5.5 -vs- Percona Server
http://tinyurl.com/xtradb-mysql5-5-ap2010
High performance is no use without stability.
Other Technologies
• Cloud Computing– 2 of the 4 critical resources are uncontrollable
• “NoSQL” Databases– It's too soon to be sure
Summary
• The operating environment is important
• MySQL & InnoDB are getting much faster
• The cloud is not a performance solution
• You are the key to better performance
Where Do You Go Next?
• Become a performance practitioner– Read High Performance MySQL 2nd Edition
– Read Optimizing Oracle Performance
– Read The Art Of Capacity Planning– Read http://www.percona.com/about-us/white-papers/
• Contribute!– Sponsor features you need or want
– Help improve tools