线上运维哪些事

本文介绍了因MySQL磁盘空间满导致服务异常及Redis集群宕机引发业务中断的问题。针对MySQL磁盘空间满,采取了truncate操作快速释放空间;Redis集群故障则通过判断异常流程并解散游戏来恢复业务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. mysql磁盘空间满,导致mysql服务异常
    时间: 2017-07-01 业务主机报
### SQL: Insert into user_messages ( user_id , message_id , status , content , size , conversationid  ,create_time , receive_type , secrect , sender , type , room_id , group_id , is_count , meta , meta1 )         Values ( ? , ? , ? , ? , ? , ? ,        ?, ? , ? , ? , ? , ? , ? , ?,         ? , ?  )
### Cause: java.sql.SQLException: The table 'user_messages' is full
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1114]; The table 'user_messages' is full; nested exception is java.sql.SQLException: The table 'user_messages' is full

解决措施:

采用delete from table语句删除数据,发现删除数据非常慢,长达半个小时没有删除成功。
改为truncate删除表数据,瞬间删除数据。

检验教训:

定时检查磁盘空间,并且进行阈值告警。不能心存侥幸心理,(早就发现需要清理数据,一直在拖沓)
  1. redis集群主机宕机,主备切换过程中导致业务中断
    时间:2017-06-xx
    现象: 游戏业务卡住,无法继续进行下去
    原因:游戏流程是按照定时器业务继续走下去的,如果某一阶段的定时器失效,则会导致游戏流程卡住。(redis cluster为弱一致性)在redis master当掉时,slave还没有及时把定时器任务同步走,则会导致定时器任务丢失,业务流程就会卡住。
    解决措施: 业务需要判断出异常的游戏流程,然后解散游戏,用户可以重新开始。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值