码迷,mamicode.com
首页 > 其他好文 > 详细

一个让服务器CPU飙升的BUG。找了2天才发现。

时间:2014-07-30 23:14:55      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   数据   for   问题   代码   

昨天升级了站点。发现一升级上去,就发现站点服务器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;

 

一个让服务器CPU飙升的BUG。找了2天才发现。,布布扣,bubuko.com

一个让服务器CPU飙升的BUG。找了2天才发现。

标签:style   blog   color   使用   数据   for   问题   代码   

原文地址:http://www.cnblogs.com/yipiaoqingshui/p/3879057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!