mysql性能優(yōu)化工具--tuner-primer使用介紹
下載并改變執(zhí)行權(quán)限:
wget http://www.day32.com/MySQL/tuning-primer.sh
chmod +x tuning-primer.sh
./tuning-primer.sh
結(jié)果報(bào)告:
會(huì)用幾種顏色標(biāo)記:
藍(lán)色:總指標(biāo)
綠色:表示此參數(shù)還可以
紅色:表示此參數(shù)有嚴(yán)重問題
深紅色:表示有問題參數(shù)
黃色:一些信息提示
而且還有警告:
Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.
下面是一個(gè)報(bào)告的結(jié)果
xx@xxxxxx:~$ . ./tuning-primer.sh
mysqld is alive
-- MYSQL PERFORMANCE TUNING PRIMER --
- By: Matthew Montgomery -
MySQL Version 5.1.32-enterprise-gpl-log x86_64
Uptime = 4 days 0 hrs 48 min 3 sec
Avg. qps = 255
Total Questions = 88956118
Threads Connected = 4
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.1/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 9589 out of 88956228 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 enabled
The expire_logs_days is not set.
The mysqld will retain the entire binary log until RESET MASTER or PURGE MASTER LOGS commands are run manually
Setting expire_logs_days will allow you to remove old binary logs automatically
See http://dev.mysql.com/doc/refman/5.1/en/purge-master-logs.html
WORKER THREADS
Current thread_cache_size = 32
Current threads_cached = 29
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine
MAX CONNECTIONS
Current max_connections = 151
Current threads_connected = 4
Historic max_used_connections = 84
The number of used connections is 55% of the configured maximum.
Your max_connections variable seems to be fine.
MEMORY USAGE
Max Memory Ever Allocated : 11.87 G
Configured Max Per-thread Buffers : 10.38 G
Configured Max Global Buffers : 6.10 G
Configured Max Memory Limit : 16.48 G
Physical Memory : 8.00 G
Max memory limit exceeds 90% of physical memory
(內(nèi)存設(shè)置嚴(yán)重有問題!--By Me)
KEY BUFFER
1714734 * 1024 / 2147483648 * 100
Current MyISAM index space = 8 K
Current key_buffer_size = 2.00 G
Key cache miss rate is 1 : 585673
Key buffer free ratio = 0 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere
(錯(cuò)誤參數(shù)設(shè)置:query_cache_size > query_cache_limit --By Me)
SORT OPERATIONS
Current sort_buffer_size = 4 M
Current read_rnd_buffer_size = 64 M
Sort buffer seems to be fine
JOINS
Current join_buffer_size = 132.00 K
You have had 1 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.
( join_buffer_size設(shè)置過小,另外存在一個(gè)查詢使用了join但是沒有走索引 --By Me)
OPEN FILES LIMIT
Current open_files_limit = 1185 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 = 512 tables
Current table_definition_cache = 256 tables
You have a total of 0 tables
You have 125 open tables.
TABLE SCANSCurrent read_buffer_size = 2 M
Current table scan ratio = 4650 : 1
You have a high ratio of sequential access requests to SELECTs
You may benefit from raising read_buffer_size and/or improving your use of indexes.
TABLE LOCKING
Current Lock Wait ratio = 1 : 5833374
Your table locking seems to be fine
相關(guān)文章
mysql數(shù)據(jù)庫(kù)的內(nèi)外連接
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)的內(nèi)外連接,內(nèi)連接實(shí)際上就是利用where子句對(duì)兩種表形成的笛卡兒積進(jìn)行篩選,我們前面學(xué)習(xí)的查詢都是內(nèi)連接,也是在開發(fā)過程中使用的最多的連接查詢,需要的朋友可以參考下2023-07-07
超越MySQL 對(duì)流行數(shù)據(jù)庫(kù)進(jìn)行分支的知識(shí)小結(jié)
盡管MySQL是最受歡迎的程序之一,但是許多開發(fā)人員認(rèn)為有必要將其拆分成其他項(xiàng)目,并且每個(gè)分支項(xiàng)目都有自己的專長(zhǎng)。該需求,以及 Oracle 對(duì)核心產(chǎn)品增長(zhǎng)緩慢的擔(dān)憂,導(dǎo)致出現(xiàn)了許多開發(fā)人員感興趣的子項(xiàng)目和分支2012-01-01
MySql8 WITH RECURSIVE遞歸查詢父子集的方法
這篇文章主要介紹了MySql8 WITH RECURSIVE遞歸查詢父子集的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
MySQL入門(一) 數(shù)據(jù)表數(shù)據(jù)庫(kù)的基本操作
這類文章記錄我看MySQL5.6從零開始學(xué)》這本書的過程,將自己覺得重要的東西記錄一下,并有可能幫助到你們,在寫的博文前幾篇度會(huì)非?;A(chǔ),只要?jiǎng)邮智?,跟著我寫的例子全部?shí)現(xiàn)一遍,基本上就搞定了,前期很難理解的東西基本沒有2018-07-07

