我正在寻找一种方法来增加.NET应用程序的启动时间。
想法是在启动初始化后立即进行进程内存转储并将其存储在磁盘上。 在第二次运行时,用转储和加速应用程序启动来替换进程内存会很不错。
所以,我的问题:
感谢。
答案 0 :(得分:5)
原始内存转储实际上并不像那样;很多事情将会处理外部这个单一进程的事情,并且如果你试图重播它会严重爆炸 。您需要做的是查看导致启动缓慢的原因。例如,如果问题是加载配置和设置数据(例如,从数据库中),那么可能有某种方法可以序列化该信息,以便可以在本地从简单存储重新加载,而不会产生太多开销。您可能会看到像“ilmerge”和“ngen”这样的工具(分别减少“融合”和“jit”时间) - 但坦率地说,这些事情几乎适用于所有场景。
对于IIS:考虑一组服务器。如果服务器当时不在群集中,启动时间并不重要。
但是:首先衡量,然后行动。
答案 1 :(得分:2)
(可能不在讨论上一篇文章对上一篇关于开发者机器的帖子的评论......)
为了让ASP.Net更快启动,在深入研究内存管理的噩梦之前,您是否考虑过以下解决方案:
只是看看.Net Memory Dump看起来喜欢什么,你在这里得到答案:.NET Memory Profiling Tools (你会发现它非常巨大!)