Download - Top tips my_sql_performance
About me
Wonderful 18 Years of IT Technology
More than 10 Years with MySQL family Worked with startups large compagnie such as L’OREAL, ALCATEL,ORANGE, ...
MySQL & open source user since 2000
MySQL Consultant in 2006 at ANASKA
MySQL consultant at SUN in 2008
6 years member of MySQL Oracle Team
Now MySQL Architect
Find the 'next' Bottleneck Bench your work load
Test test test Monitor monitor monitor
Think cost / effortChange one thing at a time
Test test testMonitor monitor monitor
Use large Buffer Pool
● The most important variable with InnoDB
Example : for 32G use 20G forinnodb_buffer_pool_size (or even more)
● Be aware off swaping and other settings !!
Tunne Innodb Log files
For .write heavy workloads use bigInnodb_log_file_size
Be aware of time of restart process
Take caution when you change it
Other variables
● innodb_file_per_table=1
● innodb_stat_on_metadata=OFF
● Check :
– Innodb_flush_at_trx_commit (Durability)
– innodb_flush_method (O_DIRECT)
– skip_name_resolved
● Leave all other variables to default unless youknow what you do or change per session only
Storage
● RAID10
● SSD
● Fusion IO
● SAN
● Mix :– HDD : log-bin, log-files
– SSD : datadir, innodb_undo_directory, tmpdir
Design
● Optmize, purge, archive data
● Proper Indexation
● Proper usage of temporary tables
– Example of usage of performance_schema to findqueries creating temporary tables (version 5.6)
SELECT * FROMevents_statements_summary_by_digest
WHERE SUM_CREATED_TMP_TABLES > 0
Other Tips & Futures
● Optimize your OS, Optimize your Network
● NoSQL with memcached & InnoDB
● NDB (MySQL Cluster) for high write workloads
● Mix & match InnoDB, memcacehd, NDB Cluster
● MySQL Fabric for sharding