OceanBase几个常见问题及排查思路

第一种情况:某一台observer挂掉,数据库异常

OceanBase采用的的是多副本集群模式,在不同的zone里面有不同的server,每个zone里面的server是互相备份的。上层是通过slb来分发所以,当其中一台server挂掉的时候,会对业务产生什么影响呢?

制造现象:50用户并发某查询交易时,kill掉某一台(业务所在的observer跟业务不再的observer)observer。

登录到业务所在的ob服务器执行以下命令:

ps -ef|grep observer;kill -9 pid

预期影响:TPS先掉为0,1分钟内恢复正常,存在业务失败。

监控发现:TPS先掉为0,40秒后恢复正常。失败238笔。

登录到业务不在的observer执行以下命令:

ps -ef|grep observer;kill -9 pid

预期影响:对系统没有影响。

监控发现:交易TPS和响应时间无明显变化

恢复手段:查看9台observer的进程,找出挂掉的observer,并使用admin用户将observer启动。执行命令如下:

 su - admin;/bin/observer

2、服务器层面占用cpu,数据库异常

制造现象:将业务所在的observer上的服务器cpu打满。

登录到业务所在的observer上的服务器运行脚本,脚本内容如下:

#! /bin/bash
# filename killcpu.sh
endless_loop()
{
echo -ne "i=0;
while true
do
i=i+100;
i=100
done" | /bin/bash &
}
if [ $# != 1 ] ; then
  echo "USAGE: $0 <CPUs>"
  exit 1;
fi
for i in `seq $1`
do
  endless_loop
  pid_array[$i]=$! ;
done
for i in "${pid_array[@]}"; do
  echo 'kill ' $i ';';
done
#运行命令:./killcpu.sh 30
#参数位占用几颗cpu 核数

预期影响:TPS下降,并且服务器cpu利用率高。

监控发现:TPS由700下降至550,OB CPU利用率90%,保持平稳

恢复手段:可以使用Linux命令找出当前数据库占用CPU较多的进程,判断是否重要,将其杀死

ps -aux | sort -k4nr | head -N

3、服务器层面打满磁盘,数据库异常演练

制造现象:将observer所在服务器的磁盘写满

登录到observer服务器执行命令:

dd if=/dev/zero of=/home/admin/oceanbase/log/1.log bs=100k count=1600000

预期影响:TPS降低为0交易持续报错。

监控发现:TPS由700下降为0,磁盘满后交易持续报错共失败3014笔,交易性能大幅波动

恢复手段:发生这种的影响主要来源于两个地方,如果这台机器上只装了ob以及ob相关的组件的话,写满磁盘要么是数据文件,要么是日志文件,如果是数据文件,那么没办,只能扩充资源,如果是日志文件,找到对应目录,删除多余日志文件。

 

4、数据库中存在并发大量烂sql,数据库异常

制造现象:某正常业务正常运行,这时候并发一个sql比较烂的业务。

预期影响:正常业务TPS下降,并且可能存在失败现象。

监控发现:批量发起1000个数据库并发操作,交易TPS立即由700下降至150,同时批量查询超时失败。

恢复手段:sql烂是数据库的通病,我们可以根据show processlist;查看当前数据库当前正在执行的sql,找出执行时间比较久的。然后对其优化,然后根据OceanBase自带的视图:gv$sql,gv$sql_audit来看数据库之前执行过什么的慢sql对其优化。

 

5、业务突然增大,并且扩容observer,数据库异常

制造现象:某业务突然增加50用户量。之后调整该租户的cup:alter resource pool xxx_poll unit C12_unit;。

预期影响:并发数据量会产生TPS以及响应时间的上涨,扩充资源会发生抖动,TPS上升,RT下降

监控发现:增加用户TPS由700上升至800,交易响应时间由0.070上升至0.095秒。扩容资源发生一点点抖动,TPS恢复至800,RT时间恢复到0.095秒。

恢复手段:无

 

6、模拟数据库服务器网络故障。

制造现象:将observer的2882跟2881端口禁掉

执行命令:

iptables -A INPUT -i bond0 -p tcp --dport 2882 -j DROP
iptables -A INPUT -i bond0 -p tcp --dport 2881 -j DROP
iptables -A OUTPUT -p tcp --dport 2882 -j DROP
iptables -A OUTPUT -p tcp --dport 2881 -j DROP

预期现象:TPS会出先下降,然后恢复正常,交易会报错。

监控发现:TPS先下降一半,1分钟后恢复正常,交易报错持续4分钟。

恢复手段:

iptables -D INPUT 1
iptables -D INPUT 1
iptables -D OUTPUT 1
iptables -D OUTPUT 1

 

时间: 2024-08-01 21:30:19

OceanBase几个常见问题及排查思路的相关文章

线上PHP问题排查思路与实践

前言 前几天,在一淘网,腾讯网媒和微博商业技术联合组织的技术分享大会上,我分享了<在线PHP问题排查思路与实践>.此博文除了对PPT提供下载外,还会对ppt做简单的注释说明.主题分为三部分,常见问题,解决思路和案例分析. 常见问题 不同用户看到的错误可能不一样.一般用户看到的错误都是表层的现象.如,裸奔的错误页面: <img src="http://www.bo56.com/wp-content/uploads/2015/09/luoben.png" alt=&quo

【CDN 最佳实践】CDN访问异常排查思路

当客户使用 CDN 加速站点访问后,客户端的请求将首先发送到 CDN 的 L1 节点,再通过 L1 -> L2 -> 源站的网络路径回源获取资源.因此如果访问过程中出现问题就可能涉及到多级网络链路的问题.如何尽快定位并解决问题就成为疑难问题,本文将根据系统介绍如何定位 CDN 资源无法访问的问题点以及处理的思路. 域名配置和解析 当某个站点的资源 URL 访问出现异常时首先需要查看的即是对应的域名是否有正确配置解析到 CDN 上.如图 1 所示即是 CDN 加速域名的基本配置截图,从图中我们可

MPLS AToM CISCO配置模板与基本故障的排查思路

该文档测试,排错思路基于 VPN故障针断与排除第7章.AToM. 拓扑图: 在这里,R1到R3做AToM. 关键配置: R1和R4就是两台电脑: R1 interface f0/0=1.1.1.1/24 R4 interface f0/0=1.1.1.2/24 R1做为PE-1-R1: hostname PE-1-R2 ip cef mpls label protocol ldp interface Loopback0 ip address 10.1.1.1 255.255.255.255 !

组播的DR的工作原理与故障排查思路详解

1, 问题描述: 我们一台CPE MP1803路由器作为客户的CE路由器,PC发了IGMP report以后,我们路由器会在IGMP表项里写上该组播组,但是客户那里说上游的Huawei PE设备没有收到我们设备的PIM JOIN报文而最终不能将组播流量引下来. 经过排查,发现客户在同一个局域网中有多个CPE, 而且我们的MP1803不是DR. 所以这就是为什么客户开了debug以后不能在我们路由器的上游接口抓到PIM JOIN报文误认为是我们路由器的问题. 当时建议客户把局域网断开,然后直接用P

Oracle高并发系列1:DML引起的常见问题及优化思路

作者介绍 王鹏冲,平安科技数据库技术专家,浸淫数据库行业十多年,对Oracle数据库有浓厚兴趣,也对MySQL.MongoDB.Redis等数据库有一定架构和运维经验,目前正沉迷在PostgreSQL数据库与Oracle数据库的PK之中,重点在关系型数据库的分布式架构研究. 引言    Oracle数据库是设计为一个高度共享的数据库,这里所说的"共享",可以从数据库共享内存.后台进程.cursor.执行计划.latch等方面去理解.Oracle如此设计的目的是以最小的系统开销.最大化地

【 CDN 最佳实践】CDN 加速 OSS 常见问题及处理思路

CDN 加速 OSS 是常见的站点动静分离的方式,可以实现将静态资源存储在 OSS 上,并通过 CDN 加速 OSS 实现静态资源的访问加速效果.但是在实际使用的过程中可能会出现使用方法以及配置上的问题导致使用上出现难题.本文档主要就 CDN 加速 OSS 的配置以及各注意事项进行描述已解决本使用场景中遇到的问题. 1. 使用场景描述 图 1 所示即是常见的站点动静分离的解决方案.从该图中可以查看到整个站点数据包括动态资源和静态资源两个部分,其中动态资源主要是指站点的 web 程序以及数据库等内

烨烁:CDN 加速 OSS 常见问题及处理思路

CDN 加速 OSS 是常见的站点动静分离的方式,可以实现将静态资源存储在 OSS 上,并通过 CDN 加速 OSS 实现静态资源的访问加速效果.但是在实际使用的过程中可能会出现使用方法以及配置上的问题导致使用上出现难题.本文档主要就 CDN 加速 OSS 的配置以及各注意事项进行描述已解决本使用场景中遇到的问题. 1. 使用场景描述 图 1 所示即是常见的站点动静分离的解决方案.从该图中可以查看到整个站点数据包括动态资源和静态资源两个部分,其中动态资源主要是指站点的 web 程序以及数据库等内

NoClassDefFoundError 排查思路

1.问题场景 school-1.1.0.jar中没有Student类. school-1.1.1.jar中有Student类. 虽然在pom中指定了引入的是school-1.1.1.jar,但可能maven打包后只有school-1.1.0.jar而没有school-1.1.1.jar.那么运行时就会报错java.lang.NoClassDefFoundError. 2.命令 #执行此命令,可以看指定目录下哪些jar包中有哪些类,含有指定关键字. for i in xxx/lib/*.jar;

超融合网络常见问题及解决思路

超融合技术架构的实施为公司带来了意义非凡的价值.不过在许多环境都有那么一部分应用程序对于性能有着很高和具体的要求,这很容易造成超融合网络的瓶颈. 在任何超融合设计中,网络都是必不可少的组成部分.超融合网络将不同节点的存储汇聚到一起,应用程序能够跨越并借助其他节点的CPU运行.网络则相对静态,节点之间的带宽是可以重新分配的,超融合架构的物理线缆之多可能让人恐惧.要切记超融合架构是一个集群,包含许多潜在的节点.这些节点之间需要相互通讯以保证它们之间的信息是同步的. 在过去,传统的集群有专门的存储系统