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