我正在尝试确定一个ASP.NET应用程序非常长(在我看来)的初始启动原因。该应用程序使用各种第三方库和大量参考资料,我确信这些资料可以合并,但我正在尝试确定dlls的影响以及它们对扩展启动过程的贡献。
到目前为止,启动时间根据框中其他事物的使用情况而异。根据站点的复杂性,我认为这是不可接受的,我需要将其减少到最多30秒的区域。
要明确我寻找的性能范围,它是从第一个请求到首次访问Application_Start方法的时间。
那么,我从哪里开始获取有关加载哪些DLL以及它们加载所需的时间的信息,以便我可以尝试在哪些方面进行处理/合并的成本效益?
从能力的角度来看,我一直在使用JetBrains dotTrace一段时间,我清楚如何在进入应用程序后对应用程序进行基准测试,但是似乎这超出了应用程序代码,并且超出了我目前所知道的内容。
我正在寻找的是如何获得有关进入我的代码之前发生的情况的可见性的方法。
注意:我知道可以在回收/升级时调用默认页面进行初始加载,但我宁愿解决实际问题而不是掩盖它。
注意2:硬件在功能方面已经足够扩展和分离,因此我相当确定这不是问题的原因。
到目前为止,启动时间根据框中其他事物的使用情况而异。根据站点的复杂性,我认为这是不可接受的,我需要将其减少到最多30秒的区域。
要明确我寻找的性能范围,它是从第一个请求到首次访问Application_Start方法的时间。
那么,我从哪里开始获取有关加载哪些DLL以及它们加载所需的时间的信息,以便我可以尝试在哪些方面进行处理/合并的成本效益?
从能力的角度来看,我一直在使用JetBrains dotTrace一段时间,我清楚如何在进入应用程序后对应用程序进行基准测试,但是似乎这超出了应用程序代码,并且超出了我目前所知道的内容。
我正在寻找的是如何获得有关进入我的代码之前发生的情况的可见性的方法。
注意:我知道可以在回收/升级时调用默认页面进行初始加载,但我宁愿解决实际问题而不是掩盖它。
注意2:硬件在功能方面已经足够扩展和分离,因此我相当确定这不是问题的原因。