資料庫可用行與效能監控

2021-09-14 02:47:23 字數 1416 閱讀 3154

可用行:

1.監控資料庫是否可以連線

方法:mysqladmin -umonitor_user -p -h ping

telnet ip db_port

2.監控資料庫是否可以讀寫

方法:檢查資料庫read_only引數是否為off.

建立監控表對表中資料進行操作

連線後可以執行 select @@version

3.監控資料庫的連線數

方法:show variables like 'max_connections'

show global status like 'threads_connected'

threads_connected / max_connections>0.8 就需要報警

效能監控:

1.監控資料庫併發請求數量

show global status like 'thread_running'

如何監控innodb的阻塞:

從mysql效能字典表,innodb_lock_waits 是鎖資訊,innodb_trx是事務資訊,有兩條記錄,需要放到一行中,因此,需要關聯2次。 

select b.trx_mysql_thread_id as 『被阻塞執行緒』, 

b.trx_query as 『被阻塞sql』, 

b.trx_mysql_thread_id as 『阻塞執行緒』, 

b.trx_query as 『阻塞sql』, 

(unix_timestamp() - unix_timestamp(b.trx_started)) as 『阻塞時間』 

from 

information_schema.innodb_lock_waits a 

join information_schema.innodb_trx b 

on a.requesting_trx_id=b.trx_id 

join information_schema.innodb_trx c 

on a.blocking_trx_id=c.trx_id 

where (unix_timestamp() - unix_timestamp(c.trx_started))>60; 

set global innodb_lock_wait_timeout=180;

檢視執行緒相互阻塞的方法: 

show engine innodb status \g 檢視詳細事務內容 

select b.,a. from information_schema.innodb_trx a,information_schema.processlist b where a.trx_mysql_thread_id=b.id and a.trx_state=』running』 ;

MySQL 資料庫 效能監控

show status flush status 檢視當前連線數 show status like thread thread cached 被快取的執行緒的個數 thread running 處於啟用狀態的執行緒的個數 thread connected 當前連線的執行緒的個數 thread cre...

MySQL 資料庫 效能監控

show status flush status 檢視當前連線數 show status like thread thread cached 被快取的執行緒的個數 thread running 處於啟用狀態的執行緒的個數 thread connected 當前連線的執行緒的個數 thread cre...

監控資料庫效能的SQL

監控資料庫效能的sql 檢視tablespace的空間使用情況 select tablespace name,sum bytes 1024 1024 from dba free space group bytablespace name 1.監控事例的等待 select event,sum deco...