项目运营第二天——热锅上的蚂蚁

运营到了第二天,连续出现了服务器卡死的现象。

卡死时间不确定,人数不确定,在300、500、600都出现过。

开始的时候认为是Timetask的问题,因此修改了所有的timetask为thread,同时修改了myISAM和InnoDB的插入顺序,两者独立插入。

可是一上线2个小时又崩溃了。

然后调整mysql的配置,提高了性能,以为没有问题,可是7个小时又卡死了。

然后查询了关于mysql5.1的bug,以为是freeing item的问题。准备更换数据库,可是实在太麻烦。又算了。

然后和同事讨论了一下,再次检查代码的死锁,没有发现。妈的,老子的技术怎么可能会写出死锁的代码呢。

后来又网上搜索了一下, 估计是数据库的死锁,然后发现了mysql的事务处理对表操作顺序有可能也会产生死锁,于是使用了一些算法调整事务处理。

结果,过了12个小时,依然正常运作,相信bug解决了。 

原文地址:https://www.cnblogs.com/zc22/p/1945121.html