关于逐步脱离开发岗位的意见,老大已经批准了,接下来我的主要工作就是”运维+数据库管理“。感谢杰民兄和小马哥能接受我的骚扰,接下来还会去骚扰他们,同时也会去骚扰董大爷,小刚总,心灵哥,猪肉哥,谢谢你们。同时也要感谢吴老大,叶老大,落总,七总,橙子哥他们。
因为还没有学会玩zabbix,所以先着手自己写脚本试试看。写好的脚本到时候回分享出来,欢迎大家批评指点。
=======================================================================================
1.重点进程监控:tomcat,apache,mysql
2.存储空间监控:挂载点 75%告警(如果一直都是75%,则每小时告警一次)
3.uptime查看load_avg,只要这三个值出现大于(cpu core/2)就开始收集系统资源信息(cpu,mem,io,net)
top10的进程(cpu,mem),每10秒收集一次,同时开始告警,每10分钟告警一次(如果一直都大于(cpu core/2))
4.重点域名ping测试(??)
5.网络流量如何监控(待定)
6.MySQL性能参数收集
打印当前MySQL的重点参数:
innodb_buffer_pool_size:0.5--0.8
innodb_max_dirty_pages_pct:<50%
innodb_log_buffer_size:32M
innodb_data_file_path:>1G
innodb_log_file_size:
innodb_flush_log_at_trx_commit:1
sync_binlog:1
query_cache_size:0
query_cache_type:0
innodb_data_file_path=ibdata1:100M:autoextend #1024M init
innodb_file_per_table:1 #是否启用独立表空间
innodb_log_buffer_size:8M # # 用来缓冲日志数据的缓冲区的大小.当此值快满时, InnoDB将必须刷新数据到磁盘上. 由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)
innodb_log_file_size:100M # redo log大小,不能太大,否则恢复很慢,不能太小,否则频繁checkpoint,导致性能抖动
innodb_log_files_in_group:3 # 指定日志组中redo log日志的数量
log_bin #开启binlog
expire_logs_days:45
binlog_format:MIXED
innodb_flush_method:O_DIRECT
这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:
有三个值:fdatasync(默认),O_DSYNC,O_DIRECT
fdatasync:默认值,调用fsync()去刷数据文件与redo log的buffer
O_DSYNC:innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件
O_DIRECT:innodb使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log
open_files_limit:8192
table_definition_cache:400
table_open_cache:400
lower_case_table_names:
sql_mode
character_set_server
max_connections
max_user_connections
thread_cache_size
read_buffer_size
sort_buffer_size
tmp_table_size
join_buffer_size
read_rnd_buffer_size
max_heap_table_size
slow_query_log_file
slow_query_log:1
log_queries_not_using_indexes:1
long_query_time:0.02
min_examined_row_limit :100
Mysql 内存分配规则是:用多少给多少,最高到配置的值,不是立即分配
全局缓存包括:
global buffer(全局内存分配总和) =
innodb_buffer_pool_size -- InnoDB高速缓冲,行数据、索引缓冲,以及事务锁、自适应哈希等
+innodb_additional_mem_pool_size -- InnoDB数据字典额外内存,缓存所有表数据字典
+innodb_log_buffer_size -- InnoDB REDO日志缓冲,提高REDO日志写入效率
+key_buffer_size -- MyISAM表索引高速缓冲,提高MyISAM表索引读写效率
+query_cache_size -- 查询高速缓存,缓存查询结果,提高反复查询返回效率
+thread_cache_size --Thread_Cache 中存放的最大连接线程数
+table_cahce -- 表空间文件描述符缓存,提高数据表打开效率
+table_definition_cache -- 表定义文件描述符缓存,提高数据表打开效率
会话缓存包括:
total_thread_buffers= max_connections * (
read_buffer_size -- 顺序读缓冲,提高顺序读效率
+read_rnd_buffer_size -- 随机读缓冲,提高随机读效率
+sort_buffer_size -- 排序缓冲,提高排序效率
+join_buffer_size -- 表连接缓冲,提高表连接效率
+binlog_cache_size -- 二进制日志缓冲,提高二进制日志写入效率
+tmp_table_size -- 内存临时表,提高临时表存储效率
+thread_stack -- 线程堆栈,暂时寄存SQL语句/存储过程
+thread_cache_size -- 线程缓存,降低多次反复打开线程开销,模拟连接池
mysql状态:
qps,tps,InnoDB Buffer命中率,慢日志,Table Cache状态量,锁定状态,Tmp Table 状况(临时表状况), Binlog Cache 使用状况,Innodb_log_waits 量 ,slave延迟等待。
7.虚拟机压力测试报告:(sysbench,tpcc_mysql)
tpcc_mysql压力测试TPS:os内存调整到16G, innodb_buffer_pool_size分别设置为2,4,6,8,10,12G时仓库数是5,10,15,20,50,60,80,100的TPS。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Linux监控(OS,MySQL,Tomcat,Apache)
原文地址:http://blog.csdn.net/rookie_ceo/article/details/46827787