MS Web Deploy使网站挂起5-10分钟

时间:2014-02-04 15:04:58

标签: asp.net webdeploy continuous-deployment

我使用teamcity和webdeploy进行ASP.net MVC5站点设置以进行持续交付。

什么是奇怪的,我不明白的是,webdeploy如何让网站“挂起”近10分钟。

发布任务在不到30秒的时间内完成,并完全停止并完成。但如果你点击网站,它只是'等待',什么都不显示,什么都不做,大约5到10分钟。

任何人都可以给我一些关于幕后发生的事情的提示吗?如果它真的在30秒内发布......那么长时间等待网站再次可用的是什么?

修改

以下是我在teamcity中使用MSBuild的命令行参数(为可读性添加了新行)

%env.Configuration%在我认为是Release的情况下 并且%env.TargetServer%是我的服务器IP地址

/P:Configuration=%env.Configuration% 
/P:DeployOnBuild=True     
/P:DeployTarget=MSDeployPublish 
/P:MsDeployServiceUrl=https://%env.TargetServer%/MsDeploy.axd   
/P:AllowUntrustedCertificate=True  
/P:MSDeployPublishMethod=WMSvc 
/P:CreatePackageOnPublish=True 
/P:Username=myDomain\myUser 
/P:Password=myPassword

1 个答案:

答案 0 :(得分:1)

这可能是IIS在更改文件后重建应用程序(即Dynamic Compilation),尽管5-10分钟似乎相当过分。如果没有完全可见度,我很难估计。

当您发出第一个请求(部署之后)以了解正在进行的操作时,值得在IIS服务器上运行一些诊断程序。我通常会使用Sysinternals Process Monitor这样的内容。您应该能够看到文件系统级别发生了什么,并且能够理解在提供第一个请求时花了多少时间。

不确定是否会有一个简单的答案,更多的是通过运行诊断和建立一些有形的性能信息来挖掘更多信息。