使用C#开发了一个Windows 服务,代码中主要用到的有泛型集合的遍历,排序,极少的SQL数据库查询,Redis访问操作,Linq查询,线程池,并行Foreach。
在实际测试中,部署在windows service 2012服务器上,服务器配置16核,32G内存,主频2.4G
服务的最高CPU使用率仅30%,查看Redis队列,里面有大量数据积压,CPU主频也没上去,感觉就像服务器有劲使不上,线程开的多了吧,都在排队,CPU使用率和主频还是上不来
现在比较迷茫,需要一些思路过方向,该怎么提高性能
优化性能,都是靠找瓶颈。
cpu30%,说明已经有线程满载了。需要多开线程分担或者简化此线程的工作内容。
来点代码,给你优化优化