Tuning-primer.sh 检测mysql当前的运行情况,产生报告,并给出优化建议。

下载及使用:
1.wget http://www.day32.com/MySQL/tuning-primer.sh

2.tuning-primer.sh拷贝到my.cnf同级目录
3.chmod +x tuning-primer.sh 执行:sh tuning-primer.sh

[root@DG-webDB software]#./tuning-primer.sh all

Using login values from ~/.my.cnf

- INITIAL LOGIN ATTEMPT FAILED -

Testing for stored webmin passwords:

NoneFound

Could not auto detect login info!

Found potential sockets:/home/mysql/data/mysql.sock

Using: /home/mysql/data/mysql.sock

Would you like to provide a differentsocket?: [y/N] n

Do you have your login handy ? [y/N] : y

User: root

Password: anyu@2015

Would you like me to create a ~/.my.cnffile for you? [y/N] : n

-- MYSQL PERFORMANCE TUNING PRIMER --

- By: Matthew Montgomery -

MySQL Version 5.5.17-log x86_64

Uptime = 5 days 18 hrs 32 min 31 sec

Avg. qps = 0

Total Questions = 106649

Threads Connected = 1

Server has been running for over 48hrs.

It should be safe to follow theserecommendations

To find out more information on how each ofthese

runtime variables effects performancevisit:

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

Visithttp://www.mysql.com/products/enterprise/advisors.html

for info about MySQL's EnterpriseMonitoring and Advisory Service

# 慢查询检查

SLOW QUERIES

The slow query log is enabled.

Current long_query_time = 3.000000 sec.

You have 0 out of 106670 that take longerthan 3.000000 sec. to complete

Your long_query_time seems to be fine

#二进制日志检查

BINARY UPDATE LOG

The binary update log is enabled

# 工作线程检查

WORKER THREADS

Current thread_cache_size = 64

Current threads_cached = 4

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 = 1

Historic max_used_connections = 5

The number of used connections is 0% of theconfigured maximum.

You are using less than 10% of yourconfigured max_connections.

Lowering max_connections could help toavoid an over-allocation of memory

See "MEMORY USAGE" section tomake sure you are not over-allocating

# innodb状态检查

INNODB STATUS

Current InnoDB index space = 80 K

Current InnoDB data space = 224 K

Current InnoDB buffer pool free = 99 %

Current innodb_buffer_pool_size = 4.00 G

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

to increase this value to up to 2 / 3 oftotal system memory

# 内存状态检查

MEMORY USAGE

Max Memory Ever Allocated : 4.30 G

Configured Max Per-thread Buffers : 4.21 G

Configured Max Global Buffers : 4.29 G

Configured Max Memory Limit : 8.50 G

Physical Memory : 7.68 G

Max memory limit exceeds 90% of physicalmemory

# myisam 键值状态检查

KEY BUFFER

Current MyISAM index space = 105 K

Current key_buffer_size = 256 M

Key cache miss rate is 1 : 2

Key buffer free ratio = 81 %

Your key_buffer_size seems to be fine

# 查询缓存检查

QUERY CACHE

Query cache is supported but not enabled

Perhaps you should set the query_cache_size

# 排序操作检查

SORT OPERATIONS

Current sort_buffer_size = 1 M

Current read_rnd_buffer_size = 512 K

Sort buffer seems to be fine

# 表链接检查

JOINS

Current join_buffer_size = 132.00 K

You have had 0 queries where a join couldnot use an index properly

Your joins seem to be using indexesproperly

# 文件限制检查

OPEN FILES LIMIT

Current open_files_limit = 65535 files

The open_files_limit should typically beset to at least 2x-3x

that of table_cache if you have heavyMyISAM usage.

Your open_files_limit value seems to befine

# 变缓存检查

TABLE CACHE

Current table_open_cache = 4220 tables

Current table_definition_cache = 400 tables

You have a total of 55 tables

You have 56 open tables.

The table_cache value seems to be fine

# 临时表检查状态检查

TEMP TABLES

Current max_heap_table_size = 16 M

Current tmp_table_size = 16 M

Of 53466 temp tables, 0% were created ondisk

Created disk tmp tables ratio seems fine

# 表扫描检查

TABLE SCANS

Current read_buffer_size = 256 K

Current table scan ratio = 52589 : 1

You have a high ratio of sequential accessrequests to SELECTs

You may benefit from raisingread_buffer_size and/or improving your use of indexes.

# 表锁检查

TABLE LOCKING

Current Lock Wait ratio = 1 : 91130

Your table locking seems to be fine

mysqltunner.sql 相比 tuning-primer的检测的更详细,主要是针对innodb的检测,

Mysqltunner.sql 不能对innodb进行检查的。



本文出自 “SQLServer MySQL” 博客,转载请与作者联系!

更多相关文章

  1. mysql--查看mysql状态的常用命令
  2. 查看 SQL Server 作业(job)运行结果状态脚本
  3. mysql主从状态异常解决办法
  4. Retrofit2,okhttp3 通过拦截器(Interceptor)两种缓存(离线和在线)
  5. App在自己界面奔溃回到首页,状态栏沉浸式消失bug
  6. Android图片缓存处理
  7. Android监控WIFI和GSM状态并绘制网络强度
  8. Java线程的生命周期和状态控制
  9. . io .IOException:setDataSource失败了。:状态= 0 x80000000

随机推荐

  1. EasyLoader(简单加载)实例
  2. bootstrap-multiselect 多选实例代码
  3. 详解可选参数和命名参数实例
  4. 分享一个IoC入门教程实例
  5. [转]Composite Keys With WebApi OData
  6. 总结EF通用数据层封装类实例详解
  7. [转]Support Composite Key in ASP.NET W
  8. 学习ASP.NET Core 2遇到的问题分享
  9. 使用ConcurrentDictionary多线程同步字典
  10. 浅谈WPF之Binding表达式