下载地址: wget http://www.day32.com/MySQL/tuning-primer.sh

# chmod +x  tuning-primer.sh

# yum -y install bc

# ./tuning-primer.sh

注意粗体字和有颜色的字,并按照给出的建议修改相应的值


-- MYSQL PERFORMANCE TUNING PRIMER --

    - By: Matthew Montgomery -


MySQL Version 5.6.32 x86_64


Uptime = 39 days 1 hrs 25 min 53 sec

Avg. qps = 34

Total Questions = 116173522

Threads Connected = 76


Server has been running for over 48hrs.

It should be safe to follow these recommendations


To find out more information on how each of these

runtime variables effects performance visit:

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html

Visit http://www.mysql.com/products/enterprise/advisors.html

for info about MySQL's Enterprise Monitoring and Advisory Service


SLOW QUERIES

The slow query log is NOT enabled.

Current long_query_time = 10.000000 sec.

You have 129 out of 116173543 that take longer than 10.000000 sec. to complete

Your long_query_time seems to be fine


BINARY UPDATE LOG

The binary update log is NOT enabled.

You will not be able to do point in time recovery

See http://dev.mysql.com/doc/refman/5.6/en/point-in-time-recovery.html


WORKER THREADS

Current thread_cache_size = 9

Current threads_cached = 0

Current threads_per_sec = 0

Historic threads_per_sec = 0

Your thread_cache_size is fine


MAX CONNECTIONS

Current max_connections = 2000

Current threads_connected = 76

Historic max_used_connections = 280

The number of used connections is 14% of the configured maximum.

Your max_connections variable seems to be fine.


INNODB STATUS

Current InnoDB index space = 212 M

Current InnoDB data space = 773 M

Current InnoDB buffer pool free = 9 %

Current innodb_buffer_pool_size = 128 M

Depending on how much space your innodb indexes take up it may be safe

to increase this value to up to 2 / 3 of total system memory


MEMORY USAGE

Max Memory Ever Allocated : 468 M

Configured Max Per-thread Buffers : 2.19 G

Configured Max Global Buffers : 153 M

Configured Max Memory Limit : 2.34 G

Physical Memory : 15.65 G

Max memory limit seem to be within acceptable norms


KEY BUFFER

Current MyISAM index space = 122 K

Current key_buffer_size = 8 M

Key cache miss rate is 1 : 1717954

Key buffer free ratio = 81 %

Your key_buffer_size seems to be too high.

Perhaps you can use these resources elsewhere


QUERY CACHE

Query cache is enabled

Current query_cache_size = 1 M

Current query_cache_used = 16 K

Current query_cache_limit = 1 M

Current Query cache Memory fill ratio = 1.64 %

Current query_cache_min_res_unit = 4 K

Your query_cache_size seems to be too high.

Perhaps you can use these resources elsewhere

MySQL won't cache query results that are larger than query_cache_limit in size


SORT OPERATIONS

Current sort_buffer_size = 256 K

Current read_rnd_buffer_size = 256 K

Sort buffer seems to be fine


JOINS

Current join_buffer_size = 260.00 K

You have had 156110 queries where a join could not use an index properly

You should enable "log-queries-not-using-indexes"

Then look for non indexed joins in the slow query log.

If you are unable to optimize your queries you may want to increase your

join_buffer_size to accommodate larger joins in one pass.


Note! This script will still suggest raising the join_buffer_size when

ANY joins not using indexes are found.


OPEN FILES LIMIT

Current open_files_limit = 5000 files

The open_files_limit should typically be set to at least 2x-3x

that of table_cache if you have heavy MyISAM usage.

Your open_files_limit value seems to be fine


TABLE CACHE

Current table_open_cache = 2000 tables

Current table_definition_cache = 1400 tables

You have a total of 1278 tables

You have 2000 open tables.

Current table_cache hit rate is 37%

, while 100% of your table cache is in use

You should probably increase your table_cache


TEMP TABLES

Current max_heap_table_size = 16 M

Current tmp_table_size = 16 M

Of 21783978 temp tables, 3% were created on disk

Created disk tmp tables ratio seems fine


TABLE SCANS

Current read_buffer_size = 128 K

Current table scan ratio = 810 : 1

read_buffer_size seems to be fine


TABLE LOCKING

Current Lock Wait ratio = 1 : 35042

Your table locking seems to be fine