MySQL巡检.docx

上传人:b****5 文档编号:3116340 上传时间:2022-11-17 格式:DOCX 页数:12 大小:21.59KB
下载 相关 举报
MySQL巡检.docx_第1页
第1页 / 共12页
MySQL巡检.docx_第2页
第2页 / 共12页
MySQL巡检.docx_第3页
第3页 / 共12页
MySQL巡检.docx_第4页
第4页 / 共12页
MySQL巡检.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

MySQL巡检.docx

《MySQL巡检.docx》由会员分享,可在线阅读,更多相关《MySQL巡检.docx(12页珍藏版)》请在冰豆网上搜索。

MySQL巡检.docx

MySQL巡检

MySQL巡检

系统基本信息

机型号

IP

CPU

内存

磁盘

(业务)系统信息

操作系统

主机名

操作系统巡检

检查内容

说明

检查方法

结果(异常需详细说明)

正常输出结果

系统配置检查

操作系

统版本

#uname–a

□正常□异常

显示系统版本和核心补丁信息

系统I/O检查

检查系统I/O负载情况

#iostat、top

□正常□异常

Top中CPUS中的%wa与iostat中的%iowait不应同时有值

系统CPU检查

检查系统CPU负载情况

#top、

Cat/proc/cpuinfo

□正常□异常

%wa(等待)的时间无或者较小

系统内存检查

检查系统内存负载情况

#vmstat、free

□正常□异常

Swap中的so有值证明内存不足

系统网络检查

检查系统网络连通性

#ping、telnet

□正常□异常

网络可连通

MySQL监控类巡检

1、TPS/QPS

1.1、TPS

tps:

TransactionsPerSecond,每秒事务数;

TPS=Com_commit/s+Com_rollback/s

Com_commit/s=mysqladminextended-status--relative--sleep=1|grep-wCom_commit

Com_rollback/s=mysqladminextended-status--relative--sleep=1|grep-wCom_rollback

理想状态:

参照日常数,当出现峰值时告警

1.2、QPS

qps:

QueriesPerSecond每秒查询数;

QPS=mysqladminextended-status--relative--sleep=1|grep-wQuestions

理想状态:

参照日常数,当出现峰值时告警

2、innodb_buffer_pool_status

innodb_buffer_pool_reads:

平均每秒从物理磁盘读取页的次数 

innodb_buffer_pool_read_requests:

平均每秒从innodb缓冲池的读次数(逻辑读请求数)

innodb_buffer_pool_write_requests:

平均每秒向innodb缓冲池的写次数

innodb_buffer_pool_pages_dirty:

平均每秒innodb缓存池中脏页的数目

innodb_buffer_pool_pages_flushed:

平均每秒innodb缓存池中刷新页请求的数目

innodb缓冲池的读命中率

innodb_buffer_read_hit_ratio= (1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100

Innodb缓冲池的利用率

Innodb_buffer_usage= (1-Innodb_buffer_pool_pages_free/Innodb_buffer_pool_pages_total)*100

理想状态:

参照日常数,当出现峰值时告警;

当缓冲池的读命中率较低时可以适当的增大innodb_buffer_pool或检查SQL语句

3、slow_queriesstatus

执行时间超过long_query_time秒的查询的个数

理想状态:

查询值波动不大,若出现大量慢查询,需检查近期上线的SQL语句

4、Sortstatus

mysql>showglobalstatuslike'%sort%';

Sort_merge_passes

Sort_range

Sort_rows

Sort_scan

理想状态:

Sort_merge_passes表示当需要排序时,在排序缓冲中无法将结果完全存放,则将会基于磁盘创建临时文件进行排序。

如果该值较高,则应提高sort_buffer_size大小。

最好的办法是找到是由哪些排序SQL造成的。

5、selectstatus

5.1、select_scan

对表进行完全扫描的联接的数量

mysql>showglobalstatuslike'select_scan';

理想状态:

恒定的值,不会随时间增长而有明显的增长。

5.2、select_full_join

没有主键(key)联合(Join)的执行。

该值可能是零。

这是捕获开发错误的好方法,因为一些这样的查询可能降低系统的性能。

mysql>showglobalstatuslike'select_full_join';

理想状态:

出现fulljoin的次数,如果该值不为0,需要检查表上是否有合适的索引

6、Lockstatus

mysql>showglobalstatuslike'table_locks%';

table_locks_immediate表示立即释放表锁数;

table_locks_waited表示需要等待的表锁数;

理想状态:

table_locks_waited如果该值很大,而且性能很慢,建议针对业务拆分主表

7、Threadstatus

mysql>showglobalstatuslike‘thread%‘;

Threads_cached

Threads_connected

Threads_created

Threads_running

理想状态:

threads_created表示创建过的线程数,如果发现threads_created值过大的话,表明mysql服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,

MySQL参数类巡检

1、Connectionssettings

1.1、max_connections

查询服务器最大连接数

mysql>showvariableslike‘max_connections‘;

查询服务器响应的最大连接数

mysql>showglobalstatuslike‘max_used_connections’; 

理想状态:

 max_used_connections/max_connections*100%≈85%;

error_log中未出现MySQL:

ERROR1040:

Toomanyconnections该类错误。

1.2、Aborted_connects

查询服务器尝试已经失败的MySQL服务器的连接的次数;

mysql>showglobalstatuslike‘Aborted_connects’; 

理想状态:

固定值,不随时间增长而增长(或增长幅度较小),若该数出现持续增长,需检查

连接状况或错误日志,定位异常连接主机(一般为应用账号密码问题)。

1.3、Aborted_clients

查询服务器异常客户端数(由于客户没有正确关闭连接已经死掉,已经放弃的连接数量);

mysql>showglobalstatuslike‘Aborted_clients’; 

理想状态:

固定值,不随时间增长而增长(或增长幅度较小),若该数出现持续增长,需检查

连接状况或错误日志,定位异常连接主机(一般为程序逻辑开启连接后未正常关闭)。

2、innodbsettings

2.1、innodb_buffer_pool_size

查询innodb存储引擎数据缓存大小

mysql>showvariableslike‘innodb_buffer_pool_size‘;

理想状态:

建议设置为物理内存的60%~80%,或根据业务决定

2.2、innodb_io_capacity

配置刷新I/O操作性能,此参数可以限制I/O操作

mysql>showvariableslike‘innodb_io_capacity‘;

理想状态:

根据实际磁盘情况设置

innodb_io_capacity

磁盘配置

200

单盘SAS/SATA

2000

SAS*12RAID10

5000

SSD

20000

FUSION-IO

2.3、innodb_flush_neighbors

刷新相同extent脏块

mysql>showvariableslike‘innodb_flush_neighbors‘;

理想状态:

默认为1,建议开启,在SSD环境建议配置为0

2.4、innodb_print_all_deadlocks

记录死锁记录

mysql>showvariableslike‘innodb_print_all_deadlocks‘;

理想状态:

默认关闭,建议开启

2.5、innodb_lock_wait_timeout

InnoDB行锁等待时间

mysql>showvariableslike‘innodb_lock_wait_timeout‘;

理想状态:

默认为50秒,建议配置为5秒

2.6、innodb_flush_method

配置刷新方法

mysql>showvariableslike‘innodb_flush_method‘;

理想状态:

Linux系统MySQL建议配置为:

O_DIRECT

3、LogSettings

3.1、binlogsettings

3.1.1、binlog_format

binlog日志格式

mysql>showvariableslike‘binlog_format‘;

理想状态:

建议配置为row格式,特殊业务情况另考虑

3.1.2、binlog_rows_query_log_events

写log事件(例如行操作日志时间)到binglog

mysql>showvariableslike‘binlog_rows_query_log_events‘;

理想状态:

默认为:

0,建议配置为:

1

注:

此参数需要在binlog格式为ROW下配置

3.1.3、sync_binlog

控制binlog同步磁盘方式

当sync_binlog=1时,所有的事务都在提交前写入binlog。

因此即使binlog事件遇到意外重启,一些在prepared状态的binlog会丢失。

这导致服务器在恢复数据时自动回滚这些事务。

这确保了从binlog不丢失事务,因此是最安全的选项。

事实上,这增加了同步到磁盘的总次数。

但是从MySQL5.6开始,已经支持组提交和合并同步了,这使得出现性能问题的可能性最小化了。

当sync_binlog=0时,mysql-server并不把binlog同步到磁盘,而是依赖操作系统把binlog的内容同步到磁盘。

因此,当出现掉电或操作系统崩溃时,很可能出现已经提交的事务没有被同步到磁盘的情况。

因此mysql在自动恢复时无法恢复这些事务,他们从binlog中丢失了。

所以说,新的默认设置sync_binlog=1更安全。

mysql>showvariableslike‘binlog_rows_query_log_events‘;

理想状态:

设置sync_binlog=1更安全。

3.1.4、expire_logs_days

自动清理二进制日志的天数

mysql>sh

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1