线上运维哪些事

  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还没有及时把定时器任务同步走,则会导致定时器任务丢失,业务流程就会卡住。
    解决措施: 业务需要判断出异常的游戏流程,然后解散游戏,用户可以重新开始。
展开阅读全文

没有更多推荐了,返回首页