摘要:
【现象】 最近有台服务器晚上CPU告警,系统抓取的故障期间的snapshot显示CPU %sys较高,同时context switch在300K以上。 是否过高的context switch引起的%sys消耗呢,做了下面的测试,来验证context switch与CPU %sys之间有没有直接的关系 阅读全文
摘要:
【工具】 SystemTap是Linux下的动态跟踪工具,可以方便的监控、跟踪运行中的程序或Linux内核操作,我们通过写SystemTap脚本(与C语言类似),编译为内核模块,然后加载到内核中运行,它带来的性能损耗比较小。 【两个应用举例】 一、 分析SQL语句在执行各个阶段的消耗 比如我们想统计 阅读全文
摘要:
【问题】 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试。 【工具】 blktrace是linux下用来排查IO性能的工具。它可以记录IO经历的各个步骤,并计算出IO请求在各个阶段的消耗,下面是关键的一些 阅读全文
摘要:
【问题一】 复制slave报错1236,是较为常见的一种报错 Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MAS 阅读全文
摘要:
背景】 MySQL出现短暂的3-30秒的性能问题,一般的监控工具较难抓到现场,很难准确定位问题原因。 对于这类需求,我们日常的MySQL分析工具都有些不足的地方: 1、 性能监控工具,目前粒度是分钟级,无法反应秒级的性能波动; 2、 MySQL Performance_schema工具采集是3秒落地 阅读全文
摘要:
【背景】 之前我们碰到一些MySQL的性能问题,比如服务器日志备份时可能会导致慢查询增多,一句简单的select或insert语句可能执行几秒,IO负载较高的服务器更容易出现并发线程数升高,CPU上升等问题。 最近学习了MySQL InnoDB IO相关的部分内核原理,可以帮我们了解服务器IO瓶颈对 阅读全文
摘要:
【问题】 有同事反馈我们改造过的MySQL5.7.23版本,使用pt-table-checksum工具比较主从数据库的一致性时报错 Unsafe statement written to the binary log using statement format since BINLOG_FORMA 阅读全文
摘要:
【问题】 假设有这种场景,误操作DROP DB或TABLE,常规的恢复操作是还原全备份,并用mysqlbinlog追加到drop操作前的位置。 如果需要恢复的binlog的日志量比较大而我们只希望恢复某个DB或某张表,常规操作会花费较长的时间。 在网上看到了借助SQL Thread来应用binlog 阅读全文
摘要:
【问题】 有一台MySQL5.6.21的服务器发生OOM,分析下来与多种因素有关 【分析过程】 1、服务器物理内存相对热点数据文件偏小,62G物理内存+8G的SWAP,数据文件大小约550G 触发OOM是binlog备份的cp进程 2、mysqld实际使用物理内存远大于innodb_buffer_p 阅读全文
摘要:
【SWAP产生原理】 先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解: 1、swap是如何产生的 swap指的是一个交换分区或文件,主要是在内存使用存在压力时,触发内存回收,这时可能会将部分内存的数据交换到swap空间。 2、内存回收的机 阅读全文