1. 命令行工具:快速查看实时性能
top -p $(pgrep -f mariadb)或htop -p $(pgrep -f mariadb)命令,实时查看MariaDB进程的CPU、内存占用情况,快速识别资源消耗过高的进程。vmstat 1每秒刷新一次系统整体状态(进程、内存、分页、CPU等),iostat -x 1聚焦磁盘I/O(读写速度、利用率、等待时间),分析MariaDB的I/O瓶颈。ss -tnp | grep mariadb或netstat -tnp | grep mariadb查看MariaDB的网络连接情况(端口、状态、进程ID),排查连接泄漏或异常连接。mysqladmin -u root -p status快速获取服务器状态(如Uptime、Threads_connected、Queries per second),或用mysql -u root -p -e "SHOW STATUS;"查看详细状态变量,SHOW PROCESSLIST;查看当前执行的查询。2. MariaDB自带工具:深度诊断性能瓶颈
SHOW STATUS提供计数器类型的性能指标(如Innodb_buffer_pool_reads表示InnoDB缓冲池读取次数,Queries表示总查询数),通过对比不同时间点的值可分析趋势;SHOW PROCESSLIST显示当前所有连接的查询,帮助识别慢查询或锁等待。SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1;),通过mysqldumpslow或pt-query-digest工具分析日志,找出耗时查询并进行索引优化。EXPLAIN命令分析执行计划,查看是否使用了索引(如type列是否为ref或range)、是否有全表扫描(type=ALL),优化查询语句。3. 第三方监控工具:全面实时监控与可视化
mysqld_exporter采集MariaDB的性能指标(如mysql_global_status_threads_connected、mysql_innodb_buffer_pool_hit_ratio),Grafana创建美观的仪表盘(如CPU使用率、内存占用、查询性能趋势),支持自定义告警规则。4. 日志分析:追踪历史问题
/var/log/mysql/error.log,通过tail -f /var/log/mysql/error.log实时查看错误信息(如连接失败、死锁、表损坏),及时处理异常。