我已經編寫了一個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