预编译和启动上的时间ASP.Net
-
09-06-2019 - |
题
我深化发展的一个(相对较少)的网站在ASP.Net 2.0.我也使用nAnt执行一些简单调整我的项目之前提供可执行文件。在其目前的状态,该网站是"预先编译"使用
aspnet_compiler.exe -nologo -v ${Appname} -u ${target}
我们注意到,后IIS池重新启动(后,关闭闲置的或再循环),应用程序需要达到20秒钟之前它是在网上回(并Application_start达到).
我没有同样的问题,当我试内直接Visual Studio(它需要2秒钟时间启动)所以我想知道如果aspnet_compiler真的是这样一个好主意。
我找不到多MSDN。你怎么汇编网站的用于生产?
解决方案
确保:
- 你正在使用网络应用程序项目,而不是一个网站项目,这将导致在一个预先编译的二进制代码后面
- 你已经关闭,调试代码生成的网络。配置文件的-我猜如果这是不同的,当你用aspnet_compiler的代码可以被重新编译
如果你想的那些,你也许可以试试运行ngen过你会从而节省的JIT时间?
其他提示
最终reponsiveness,不允许你的应用被关闭。
第一种方法是确保这是非常受欢迎的,这样,总是有人利用它。
或者,可获取微小的保活页从其他地方作计划活动可用于保持你的网站"热".
如果你的网站为汇编可更新的,你会看到一束。ASPX文件在您的虚拟目录。这些必须编制的启动。那么你可以进来和改变的web界面本身。这是默认的用于两个网站和网络应用程序。
确保这是设置在网络。config <compilation debug=false>
.在我的情况下,我还有一批文件问题得到请求所有的主要网页之前给用户(网页载模拟)。
关键是要确保IIS应用程序永远不会游泳池关闭。这是这里的代码实际上是托管。设置"空闲时"(下的先进设置的)东西真的很高,如1440分钟(24小时),以确保它不关闭,只要有人打你的网站每天一次。
你仍然要有JIT的时间,只要部署新的码,或如果这种空闲时期超过witout任何通信。
@西蒙:
- 该项目是一个网络应用程序。网站然后慢启动(我不知道它有一个发生率,不同的代码组织)?
- 我检查,而我编辑的网络。config后aspnet_compiler是所谓,我不要碰"调试"值(我将然而检查的网站不是更快的启动,如果我不接触网络。config,只是为了确保)
(我肯定会看看ngen,我不知道那个工具。)