可能重复:
什么是一些好的.NET Profilers?
我正在寻找好的.NET CLR内存分析工具.
我的关键要求是它将与IIS和独立的CLR应用程序配合良好.理想情况下,我会看到分配了哪些对象,分配它们的位置以及它们的大小?
有没有人对您推荐的特定工具有任何良好的体验?
我们想热身IIS 7.5服务器上托管的ASP.NET MVC应用程序.以前在http://forums.iis.net/t/1176740.aspx上提供的预热模块已被删除.
每当IIS或ASP.NET工作进程因任何原因重新启动时,应该预热应用程序.在预热期间,IIS应返回一些HTTP状态代码,表示其预热状态或无法为任何客户端提供服务.
创建一个可执行文件,通过HttpRequests浏览网站中的必要页面是一个好主意吗?可执行文件可以从IProcessHostPreloadClient实现中触发.是否可以配置IIS以便它只接受来自localhost的请求,一旦可执行文件完成,它就可以切换到所有客户端 - 但是该交换机不应该触发IIS重启(显然).
是否可以使用Visual Studio 2010 - Web性能测试来预热应用程序而不是创建手动可执行文件?还有其他选择吗?
PS:应用程序使用表单身份验证并使用会话 - 因此维护状态cookie和其他cookie非常重要.
更新1 - 我们在我们的应用程序中使用.NET Framework 4.0和Entity Framework(数据库优先).首次点击EF查询的速度很慢.热身背后的原因是让这些第一次击中.我们已经在大多数地方使用了编译查询,并且已经为EF实现了预编译视图.模型和应用程序的大小非常大且复杂.预热需要遍历许多页面,以确保在任何最终用户访问应用程序之前至少执行一次编译和非编译的EF查询.
IIS重置后,首先命中需要很长时间,因为AppPool正在启动,而其他.NET组件,数据库连接正在初始化.
什么是预热IIS应用程序和预加载所需组件的最佳方法(例如GAC程序集,WCF,WWF库)
我正在使用IIS 6,Windows 2003服务器x64
(我知道有IIS 7的预热模块,但我在IIS 6.Ohow,IIS 7中的预热模块在内部运行吗?)
我们有一个系统,我们在IIS中托管几个WCF应用程序.其中一些应用程序有一段延长的启动时间需要几秒钟(超过用户愿意等待的时间).一旦它启动并运行,一切都很快,所以它真的只是启动时间.
客户端还需要每晚回收应用程序池.
有没有办法唤醒所有这些服务,以便启动时间不是系统的第一个用户的问题?
初步想到在哪里编写一个Windows服务,每隔x(可配置)分钟就可以在每个服务上调用一个轻量级方法,以保持应用程序的活跃,但是因为我们处于负载平衡环境中,并且应用程序需要传递特定的主机头,我们总是会遇到负载均衡地址,这意味着我们无法确保群集中所有盒子上的所有服务都已实际启动.
由于IIS中的单个wcf应用程序只能有一个主机头,因此唯一的另一种方法是设置指向同一应用程序的第二个iis网站.我只是不确定这是否会成功,因为它将在另一个主机环境中.
另一种选择可能是在IIS或应用程序池实际再次启动时,可能会调用IIS的扩展(不确定是否可能),这可能会调用我们的每个服务.(当应用程序池已经回收但在第一个用户请求之前注意到的事情.
任何想法将不胜感激.
谢谢
Gineer