3
我們正在開發一個大型ASP.NET應用程序。該應用程序使用以下內容:使用實體框架和WCF的大型應用程序
- 實體框架作爲數據訪問層。
- WCF作爲通信層,使用ChannelFactory創建通道(每個通話都有一個新通道),WCF服務託管在Windows服務中並使用WSHttpBinding。
SQL Server 2008 R2的
有時候,我們使用的TransactionScope在業務層以創建交易。
- 數據庫包含大量的數據,通過WCF傳遞。
- 我們所有的實體框架ObjectContext使用statemnt封裝在內部,以確保它們被丟棄。
- 每個WCF通道都在使用後處理。
- 我們有很長時間的運行在後臺運行的事務,其中包含許多頻繁的數據庫訪問也通過WCF。
主要有兩個關鍵問題:
- 我們有某種內存泄漏。 WCF服務主機的內存不斷增加,特別是對於大數據。
- SQL服務器的內存也增加了。
這些問題使應用程序非常緩慢,有時不響應,迫使我們重新啓動wcf和sql服務。
該應用程序託管在具有4 GB RAM的Windows Server 2008環境中。
多少用戶和whatz的你正在處理內存,量你有什麼探查統計? – V4Vendetta 2011-06-16 10:37:54
我們有4 GB的RAM和用戶數大約是6,7 – 2011-06-16 10:39:44
SQL服務器 - 獨自留在自己的機器上 - 因爲它需要/因爲它可以得到永遠抓住儘可能多的內存。這是正常的,預期的行爲 - 沒有理由擔心(這就是爲什麼SQL Server的最好給自己的,獨特的服務器機) – 2011-06-16 10:40:55