Top Banner
MySQL Tuning Ford AntiTrust
24

MySQL Tuning

May 19, 2015

Download

Business

Ford AntiTrust
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MySQL Tuning

MySQL Tuning

Ford AntiTrust

Page 2: MySQL Tuning

What ?

“Managing performance of the memory and processing resources of the computer running the DBMS

Page 3: MySQL Tuning

Why ?

Default settings are for toy databases

Page 4: MySQL Tuning

Why ?

Maximum performance (or Optimal between other services) and Maximum speed

Page 5: MySQL Tuning

How ?

• I/O tuning

• Optimize Queries

• Maintenances

• Configurations on DBMS

| today

Page 6: MySQL Tuning

How ?

• I/O tuning

• Configurations on DBMS

| today

Page 7: MySQL Tuning

I/O tuning

The first bottleneck in database performance encountered.

Page 8: MySQL Tuning

I/O tuning | effect

• Transaction logs

• Files associated

– Temporary file storage

– Table file storage

– Index file storage

Page 9: MySQL Tuning

I/O tuning | recommended

• CPU : Disabling HyperThreading• Used different physical storage

– Transaction logs – Temporary file storage – Table file storage– Index file storage

• Hard Drive– 7,200+ rpm– SATA/SCSI

• RAID levels : 5 +– With battery backed up cache may be important.– Not use NAS.

Transaction logs and temporary spaces are heavy consumers of I/O, and affect performance for all users of the database.

Page 10: MySQL Tuning
Page 11: MySQL Tuning

How ?

• I/O tuning

• Configurations on DBMS

| today

Page 12: MySQL Tuning

In Architecture

http://dev.mysql.com/doc/

• Caches• Connections• Thread• Buffer• Temp tables• Index• Storage Engine• File System• Network I/O• Client Library

Page 13: MySQL Tuning

General

• Set ‘sql-mode’– STRICT_TRANS_TABLES– NO_AUTO_CREATE_USER– NO_ENGINE_SUBSTITUTION“

• Set ‘default-storage-engine’– to INNODB

• Not used ‘old_passwords’• Use ‘big-tables’• Use ‘skip-name-resolve’

Page 14: MySQL Tuning

Log

• Use ‘log-slow-queries’ and ‘log-warnings’

– For monitor long time queries and warning messages.

• Set ‘long_query_time’

– For log all queries that have taken more than ‘long_query_time’ seconds

Page 15: MySQL Tuning

Key Buffer

Key Buffer = (Key read requests - Key reads) * 100 / Key read requests

Key blocks unused 27683Key blocks used 1312

Key read requests 1318393Key reads 1344

Page 16: MySQL Tuning

Sort / Read / Join Buffer

• Set ‘sort_buffer_size’– Dynamic by number of ‘ORDER BY’ query

• Set ‘read_buffer_size’– Dynamic by traffic and b/w

• Set ‘read_rnd_buffer_size’– Dynamic by ‘GROUP BY’ or ‘ORDER BY’

• Set ‘join_buffer_size’– Dynamic by join table not use indexes

Page 17: MySQL Tuning

Query Cache

• Set ‘query_cache_size’

– to 10% RAM

• Set ‘query_cache_type’

– to 1, Cache all query results except for those that begin with SELECT SQL_NO_CACHE

• Set ‘query_cache_limit’

– to 5-10% RAM

Page 18: MySQL Tuning

Temp Table

• Set ‘tmp_table_size’

– to 5-10% RAM

• Set ‘max_tmp_tables’ – to 5-10% number of table in all databases

• Set ‘tmpdir’ to different physical drive

Page 19: MySQL Tuning

Thread

• Use ‘skip-thread-priority’

• Set ‘thread_concurrency’

– number of Core CPU * 2

• Set ‘thread_cache_size’ – to 100 - ((threads_created / max_connections) * 100)

Page 20: MySQL Tuning

Table Cache

Open tables 1024Opened tables 1120

table_cache =1024

Page 21: MySQL Tuning

for InnoDB

• Set ‘innodb_buffer_pool_size’– Typical value 60-80% of memory

(If Innodb is only your storage engine)

• Use ‘innodb_file_per_table’• Set ‘innodb_additional_mem_pool_size’

– Do not set too high, avoid memory waste

• Set ‘innodb_flush_log_at_trx_commit’ = 2– Control by OS

• Set ‘innodb_thread_concurrency’– 2*(NumCPUs+NumDisks) – in theory

Page 22: MySQL Tuning

Never ending in tune-up theory

Page 23: MySQL Tuning

References

• Optimizing the mysqld variables, June 15, 2004 (www.databasejournal.com/features/mysql/article.php/3367871)

• MySQL Database Design and Tuning, Robert D. Schneider, SamsPublishing, ISBN: 0-672-32765-1

• InnoDB Architecture and Performance Optimization (OS-DB-CON2006), Peter Zaitsev, Percona Ltd

• InnoDB Performance Optimization Heikki Tuuri, Innobase Oy/Oracle Corp. Peter Zaitsev, Percona Ltd, uc2007 (April 23-26 2007)

• MySQL/Innodb performance optimization Peter Zaitsev, MySQL AB, O'Reilly Open Source Convention 2004 Portland,OR July 26-30

Page 24: MySQL Tuning

THANK YOUFord AntiTrust