如题,网站增加个统计ip的功能,于是有了如下代码:
每有一个ip访问,都会执行一次Count方法。
在一分钟500ip的时候,IIS就反应不过来了,CPU占用100%,求优化啊
(不含有数据库操作)
public static readonly List<IPLog> IPList = new List<IPLog>();public void Count(xxxxx) { var log = new IPLog() { IP = ip, VisitTime = DateTime.Now }; IPList.Add(log); if (IPList.Count >= 1000) { var clone = ipList.GetRange(0, IPList.Count); IPList.Clear(); //保存到数据库(clone) //每1000IP提交到数据库一次 //已注释 } }
MYYA