asp.net mvc 4 app' precompiliation'

时间:2014-09-03 21:11:31

标签: asp.net asp.net-mvc deployment

我有一个asp.net mvc4应用程序,我们部署到大约1400个客户端。我们当前的部署过程如下:

:: Publish the project files to a local directory
%msbuild% RPortal.csproj "/p:Platform=AnyCPU;Configuration=Release;ConfigurationName=Release;SolutionDir=%solutionDir%;PublishDestination=.\Deploy\Release" /t:PublishToFileSystem

然后我们有一些PowerShell脚本将新版本推送给我们的每个客户,使用其他工具来帮助同步。

我们注意到应用程序启动时间(有时超过5分钟)会出现一些严重的问题,我们调查解决此问题的方法之一就是ASP.Net预编译的想法({{3} })

在一些实验中,似乎在我们发布的系统上调用aspnet_compile.exe确实会创建一些新文件。 (几个dll和一些* .compiled文件)。

我的问题如下:

  1. 此编译与.cs源代码的主要编译有何不同 文件?
  2. 无论是首次运行还是仅在手动运行时,是否会进行此编译?
  3. (与2相关),此编译是否能够在应用程序池重新启动和服务器重新启动后生效?
  4. 根据我们当前的情况,似乎我们正在杀死我们的服务器试图启动1400个应用程序(是的,它们都存在于1个网络服务器上......这不是我控制的情况) 。服务器将嗡嗡作响,没有特别的问题,合理的资源消耗,然后,突然之间,我们的CPU将固定到100%并保持在那里。我们可以将其重新绑定的唯一因素是,当超过5个(或大约)1400个应用程序全部启动时,就会发生这种情况。

    我们希望预编译能够承担大部分应用程序启动负担,但我显然不了解这里真正发生的事情。

    你最喜欢的任何光线都会受到赞赏。

0 个答案:

没有答案