首页 > 代码库 > 一个让服务器CPU飙升的BUG。找了2天才发现。
一个让服务器CPU飙升的BUG。找了2天才发现。
昨天升级了站点。发现一升级上去,就发现站点服务器CPU开始占用接近100%。但是数据库服务器变化不大
还原回更新之前的代码。立马CPU降低。一开始已经是增加的缓存机制有了问题,采用数据库读取,放到线上依旧。
接着以为是数据统计有问题,删除掉还是一样。最后的最后,通过看到工作线程,发现登录请求也蛮多的。
然后这个登录代码更新到旧版本。就OK了。这次版本对登录进行了重构。直接上代码
错误代码中 登录后直接是使用了user.BbbID,造成了500错误。IIS对这个500错误也会有CPU损耗。于是就飙升了
LoginUser user; var result = BbsLogin(account, password, out user); //判断是否MAC地址存在,默认打开就会注册。 var macentity = LotteryMemberInfoVWRule.Instance.GetEntity(t => t.MemberID == user.Bbsid); if (macentity == null) { result.IsOK = false; result.ErrMessage = "您当前电脑无法使用,请重新打开助手或者联系客服!"; return result; } //保存cokkie if (result.IsOK) { SaveUserFormsCookie(user, isRememberMe); } return result;
正确的代码,先判断是否登录成功,在运行
LoginUser user; var result = BbsLogin(account, password, out user); //保存cokkie if (result.IsOK) { //判断是否MAC地址存在,默认打开就会注册。 var macentity = LotteryMemberInfoVWRule.Instance.GetEntity(
t => t.MemberID == user.Bbsid
); if (macentity == null) { result.IsOK = false; result.ErrMessage = "您当前电脑无法使用,请重新打开或者联系客服!"; return result; } SaveUserFormsCookie(user, isRememberMe); } return result;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。