Linux監控MariaDB性能的方法與工具
系統自帶的命令行工具無需額外安裝,適合快速檢查MariaDB的資源使用情況和運行狀態,是日常監控的基礎手段。
top
命令可實時顯示MariaDB進程的CPU、內存占用率(按M
鍵按內存排序,P
鍵按CPU排序);htop
是其增強版,提供更直觀的界面和顏色標識,支持鼠標操作??赏ㄟ^top -p $(pgrep -f mariadb)
或htop -p $(pgrep -f mariadb)
過濾出MariaDB進程。vmstat 1
(每秒刷新一次),重點關注free
(空閑內存)、si/so
(交換分區讀寫)、cpu wa
(I/O等待占比)。iostat -x 1
(每秒刷新),關注%util
(磁盤利用率,超過70%需警惕)、await
(平均I/O響應時間)、r/s/w/s
(讀寫次數)。ss -tnp | grep mariadb
(顯示TCP連接及對應的進程ID),或netstat -tnp | grep mariadb
。MariaDB自帶的命令可直接獲取數據庫的性能指標、進程信息和配置參數,是性能調優的核心工具。
mysqladmin -u root -p status
(顯示Uptime、Threads_connected、Queries per second),mysqladmin -u root -p extended-status
(顯示更詳細的計數器信息)。SHOW STATUS LIKE 'Threads%'
(查看線程狀態)、SHOW STATUS LIKE 'Innodb_buffer_pool_read%'
(查看InnoDB緩沖池讀性能)、SHOW STATUS LIKE 'Qcache%'
(查看查詢緩存命中率)。Sending data
、Locked
)。命令示例:SHOW FULL PROCESSLIST
(顯示完整SQL語句),可用于識別長時間運行的查詢或鎖等待。SET GLOBAL performance_schema = ON;
(默認開啟),查看狀態:SHOW VARIABLES LIKE 'performance_schema';
??赏ㄟ^performance_schema
中的表(如events_statements_summary_by_digest
)分析慢SQL。專用工具提供圖形化界面、歷史數據存儲和告警功能,適合長期監控和團隊協作。
mysqld_exporter
采集MariaDB數據),Grafana負責可視化(創建儀表盤展示CPU、內存、QPS等指標)。優勢是靈活定制儀表盤,支持歷史數據查詢和告警規則配置。sudo apt install netdata
),通過Web界面查看實時圖表,支持自定義告警。SHOW STATUS
、分析慢查詢日志)。適合習慣使用Web界面的管理員,需配合MariaDB的慢查詢日志功能使用。日志記錄了MariaDB的運行軌跡,通過分析日志可發現歷史性能問題(如慢查詢、錯誤)。
/var/log/mariadb/mariadb.err
(Ubuntu)或/var/log/mysql/error.log
(CentOS),查看命令:tail -f /var/log/mariadb/mariadb.err
(實時查看)、grep "ERROR" /var/log/mariadb/mariadb.err
(篩選錯誤信息)。/etc/my.cnf
或/etc/mysql/my.cnf
),添加slow_query_log=1
、slow_query_log_file=/var/log/mysql/mariadb-slow.log
、long_query_time=1
(閾值設為1秒),重啟MariaDB生效。分析工具:mysqldumpslow
(內置工具,統計慢查詢頻率)或pt-query-digest
(Percona工具,提供更詳細的分析報告)。