日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

MySQL常用的性能指標

(1) QPS(每秒Query量)

QPS = Questions(or Queries) / seconds

mysql > show global status like 'Question%';

(2) TPS(每秒事務量)

TPS = (Com_commit + Com_rollback) / seconds

mysql > show global status like'Com_commit';

mysql > show global status like'Com_rollback';

(3)key Buffer 命中率

mysql>show global status like 'key%';

key_buffer_read_hits = (1-key_reads /key_read_requests) * 100%

key_buffer_write_hits = (1-key_writes /key_write_requests) * 100%

(4)InnoDB Buffer命中率

mysql> show status like'innodb_buffer_pool_read%';

innodb_buffer_read_hits = (1 -innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%

(5)Query Cache命中率

mysql> show status like 'Qcache%';

Query_cache_hits = (Qcahce_hits /(Qcache_hits + Qcache_inserts )) * 100%;

(6)Table Cache狀態量

mysql> show global status like 'open%';

比較 open_tables 與opend_tables 值

(7)Thread Cache 命中率

mysql> show global status like'Thread%';

mysql> show global status like'Connections';

Thread_cache_hits = (1 - Threads_created /connections ) * 100%

(8)鎖定狀態

mysql> show global status like '%lock%';

Table_locks_waited/Table_locks_immediate=0.3% 如果這個比值比較大的話,說明表鎖造成的阻塞比較嚴重

Innodb_row_lock_waits innodb行鎖,太大可能是間隙鎖造成的

(9)復制延時量

mysql > show slave status

查看延時時間

(10) Tmp Table 狀況(臨時表狀況)

mysql > show status like 'Create_tmp%';

Created_tmp_disk_tables/Created_tmp_tables比值最好不要超過10%,如果Created_tmp_tables值比較大,

可能是排序句子過多或者是連接句子不夠優化

(11) Binlog Cache 使用狀況

mysql > show status like'Binlog_cache%';

如果Binlog_cache_disk_use值不為0 ,可能需要調大 binlog_cache_size大小

(12) Innodb_log_waits 量

mysql > show status like'innodb_log_waits';

Innodb_log_waits值不等于0的話,表明 innodblog buffer 因為空間不足而等待

(13)open file and table

mysql> mysql -e "show global statuslike 'Open_files';

mysql> mysql -e "show global statuslike 'Open_tables';

(14) 慢查詢

開啟慢查詢:

編輯/etc/my.cnf,在[mysqld]域中添加:

slow_query_log= 1 # 開啟慢查詢

slow_query_log_file=/data/mysql/slow.log # 慢查詢日志路徑

long_query_time= 1 # 慢查詢的時長

查看慢查詢數量:

執行mysqladminstatus

(15)全日志

查看全日志:

show global variables like 'general_log';

開啟全日志:

set global general_log=on;

注意開啟全日志會消耗服務器性能,一般只有在排查問題時才會短暫打開。

########### 分割線 ###########

我們需要根據自己的情況進行配置優化,好的做法是MySQL服務器穩定運行了一段時間后,根據服務器的”狀態”再進行優化。

 

數據庫性能狀態

QueryCache命中率

Query_cache_hits=(Qcahce_hits/(Qcache_hits+Qcache_inserts))*100%;

show status like 'Qcache%';

 

MySQL數據庫監控

 

  • QPS(每秒Query量)

QPS=Questions(orQueries)/seconds

show global status like 'Question%';

 

MySQL數據庫監控

 

 

  • TPS(每秒事務量)

TPS=(Com_commit+Com_rollback)/seconds

show status like 'Com_commit';

 

MySQL數據庫監控

 

 

show status like 'Com_rollback';

 

MySQL數據庫監控

 

 

(3)keyBuffer命中率

key_buffer_read_hits=(1-key_reads/key_read_requests)*100%

key_buffer_write_hits=(1-key_writes/key_write_requests)*100%

show status like 'key%';

 

MySQL數據庫監控

 

 

(4)InnoDBBuffer命中率

innodb_buffer_read_hits=(1-innodb_buffer_pool_reads/innodb_buffer_pool_read_requests)*100%

show status like 'innodb_buffer_pool_read%';

 

MySQL數據庫監控

 

 

 

(5)QueryCache命中率

Query_cache_hits=(Qcahce_hits/(Qcache_hits+Qcache_inserts))*100%;

show status like 'Qcache%';

 

MySQL數據庫監控

 

(6)TableCache狀態量

show status like 'open%';

 

MySQL數據庫監控

 

 

(7)ThreadCache命中率

Thread_cache_hits=(1-Threads_created/connections)*100%

show status like 'Thread%';

 

MySQL數據庫監控

 

 

show status like 'Connections';

 

MySQL數據庫監控

 

 

(8)鎖定狀態

show status like '%lock%';

 

MySQL數據庫監控

 

 

(9)復制延時量

show slave status;

 

MySQL數據庫監控

 

 

(10)TmpTable狀況(臨時表狀況)

show status like 'Created_tmp%';

 

MySQL數據庫監控

 

 

(11)BinlogCache使用狀況

show status like 'Binlog_cache%';

 

MySQL數據庫監控

 

 

(12)Innodb_log_waits量

show status like 'innodb_log_waits';

 

MySQL數據庫監控

 

 

MySQL5.7的新特性之一就是sys庫,sys庫完成MySQL信息的收集

一、用戶、連接類

1、查看每個客戶端IP過來的連接消耗資源情況。

select * from sys.host_summary;

MySQL數據庫監控

 

total_connections:

current_connections:當前連接數

statement_latency:聲明延遲

statement_avg_latency:聲明平均延遲

table_scans:掃描查詢的總次數

file_IOS:

file_io_latency:

current_memory:

total_memory_allocated:

unique_users:

 

 

 

2、查看每個用戶消耗資源情況

select * from sys.user_summary;

MySQL數據庫監控

 

user:

statements:

statement_latency:

statement_avg_latency:

table_scans:

file_ios:

file_io_latency:

current_connections:

total_connections:

unique_hosts:

current_memory:

total_memory_allocated:

3、查看當前連接情況(有多少連接就應該有多少行)

select host,current_connections,statements from sys.host_summary;

MySQL數據庫監控

 

4、查看當前正在執行的SQL

 

select conn_id,pid,user,db,command,current_statement,last_statement,time,lock_latency from sys.session

 

MySQL數據庫監控

 

 

執行show full processlist的結果

 

MySQL數據庫監控

 

 


二、SQL 和io類

1、查看發生IO請求前5名的文件。

select * from sys.io_global_by_file_by_bytes order by total desc limit 5;

MySQL數據庫監控

 


三、buffer pool 、內存

1、查看總共分配了多少內存

select * from sys.memory_global_total;

 

MySQL數據庫監控

 

 

select * from sys.memory_global_by_current_bytes;

MySQL數據庫監控

 

2、每個庫(database)占用多少buffer pool

select * from sys.innodb_buffer_stats_by_schema order by allocated desc;

MySQL數據庫監控

 

pages是指在buffer pool中的page數量;

pages_old指在LUR 列表中處于后37%位置的page。

當出現buffer page不夠用時,就會征用這些page所占的空間。

37%是默認位置,具體可以自定義。

3、統計每張表具體在InnoDB中具體的情況,比如占多少頁?

注意和前面的pages的總數都是相等的,也可以借用sum(pages)運算驗證一下。

select * from sys.innodb_buffer_stats_by_table;

MySQL數據庫監控

 

4、查詢每個連接分配了多少內存

利用session表和
memory_by_thread_by_current_bytes分配表進行關聯查詢。

SELECT b.USER, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated, current_statement FROM sys.memory_by_thread_by_current_bytes a, sys.SESSION b WHERE a.thread_id = b.thd_id;

MySQL數據庫監控

 


四、字段、索引、鎖

1、查看表自增字段最大值和當前值,有時候做數據增長的監控,可以作為參考。

select * from sys.schema_auto_increment_columns;

MySQL數據庫監控

 

2、MySQL索引使用情況統計

select * from sys.schema_index_statistics order by rows_selected desc;

MySQL數據庫監控

 

3、MySQL中有哪些冗余索引和無用索引

若庫中展示沒有冗余索引,則沒有數據;當有聯合索引idx_abc(a,b,c)和idx_a(a),那么idx_a就算冗余索引了。

select * from sys.schema_redundant_indexes;

MySQL數據庫監控

 

4、查看INNODB 鎖信息

在未來的版本將被移除,可以采用其他方式

select * from sys.innodb_lock_waits

 

5、查看庫級別的鎖信息,這個需要先打開MDL鎖的監控:

--打開MDL鎖監控

update performance_schema.setup_instruments set enabled='YES',TIMED='YES' where name='wait/lock/metadata/sql/mdl';

select * from sys.schema_table_lock_waits;


五、線程類

1、MySQL內部有多個線程在運行,線程類型及數量

select user,count(*) from sys.`processlist` group by user;

 


六、主鍵自增

查看MySQL自增id的使用情況

SELECT table_schema, table_name, ENGINE, Auto_increment FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ( "INFORMATION_SCHEMA", "PERFORMANCE_SCHEMA", "MYSQL", "SYS" )

MySQL數據庫監控

 

一、對數據庫服務可用性進行監控

思路:

1.1 通過測試賬號ping命令返回的信息判斷數據庫可以通過網絡連接

/usr/bin/mysqladmin -uroot -p123456 ping

mysqld is alive

 

1.2 確認數據庫是否可讀寫

a.檢查數據庫的read_only參數是否為off

mysql -uroot -p123456 -P3306 -e "show global variables like 'read_only'" | grep read_only

read_only OFF

 

b.執行簡單的數據庫查詢,如:select @@version;

mysql -uroot -p123456 -P3306 -e "select @@version"

MySQL數據庫監控

 

二、對數據庫性能進行監控

2.1 監控數據庫連接數可用性

a.數據庫最大連接數

mysql -uroot -p123456 -e "show variables like 'max_connections'"

 

MySQL數據庫監控

 

b.數據庫當前打開的連接數

mysqladmin -uroot -p123456 extended-status grep -w "Threads_connected"

 

MySQL數據庫監控

 

 

注:如何計算當前打開的連接數占用最大連接數的比例呢?

result=
Threads_connected/max_connections,在做監控報警或可視化監控時能夠很好的根據這個比例及時調整最大連接數。

 

2.2 數據庫性能監控

a.QPS:每秒的查詢數

QPS計算方法

Questions = SHOW GLOBAL STATUS LIKE 'Questions';

Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';

QPS=Questions/Uptime

 

b.TPS:每秒的事物量(commit與rollback的之和)

TPS計算方法

Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';

Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';

Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';

TPS=(Com_commit + Com_rollback)/Uptime

 

2.3 數據庫并發請求數量

SHOW GLOBAL STATUS LIKE 'Threads_running';

MySQL數據庫監控

 

注:并發請求數量通常會遠小于同一時間內連接到數據庫的連接數量。

 

2.4 監控innodb阻塞情況

a. innodb

 

三、對主從復制進行監控

3.1 主從復制鏈路狀態的監控

3.2 主從復制延遲時間的監控

3.3 定期確認主從復制的數據是否一致

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定