我已经编写了一个WCF服务,该服务在运行Windows Server 2008 R2的计算机上作为Windows服务托管。 我的问题是,在运行24小时内,服务开始消耗100%cpu,如任务管理器中所示。 现在,我正试图解决这个问题的底部。使用100%cpu的WCF窗口服务
我曾妄图:
- 记录在所有回路错误(尝试,赶上等)和服务方式。
- 从任务管理器读取资源监视器。
- 在我的服务上运行性能监视器。
- 中的Microsoft SQL服务器运行数据库活动监控(看看是否有锁导致问题)
无论是做法已经产生了是什么原因导致100%的CPU利用率的一个清晰的认识。 请告诉我一种可以成功调试的方法。
在此先感谢!
在数据访问层,我正在实现单例...你认为这是一个问题。 – SutharMonil
只有一种方法可以找出......改变它,看看症状是否消失。 一个想法,确保您的Web服务客户端明确关闭他们的连接。我不知道你是如何设置的,但如果Web服务的东西连接是打开的,你可能会有更多的对象驻留在内存中(并使用CPU),而不是你需要的。 – Brian
回家之前还有一个想法。如果您还没有做到这一点,请确保SQL服务器和您的Web服务在不同的机器上运行。这应该可以帮助你找出问题所在。如果您将Web服务和SQL分开,并且它实际上是造成问题的SQL,那么您可能会遇到索引问题。 – Brian