我正在使用 msdeploy 与 TeamCity 结合将多个网站部署到测试服务器。
我在备份旧部署的站点时会间歇性地收到错误。错误输出为:
Error Code: ERROR_EXCEEDED_MAX_SITE_CONNECTIONS
More Information: The maximum number of connections for this site has been exceeded. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEEDED_MAX_SITE_CONNECTIONS.
Error count: 1.
Process exited with code -1
不幸的是,“了解更多信息”网站没有关于该错误的任何信息ERROR_EXCEEDED_MAX_SITE_CONNECTIONS
。
网络上有很多解决方法后问题发生。基本上就是重启目标服务器或者在目标服务器上重置 IIS 等等。就是重置目标让它重新工作。
就我的情况而言,我可以重新运行部署,90% 的时间第二次部署都会成功。但是,我甚至不想第一次就这么做。使用 TeamCity 进行部署的人不喜欢这个答案“再次运行”他们从一开始就不希望它失败。我能理解他们的愿望。
我尝试使用retryCount
和retryInterval
选项。但它仍然会间歇性地失败。感觉就像残留插座问题。
用于备份的命令如下:
msdeploy.exe -verb:sync -source:iisApp='Default Web Site/<site-name>',ComputerName='https://<server-name>:8172/MsDeploy.axd?site=Default%20Web%20Site',UserName=,AuthType='NTLM' -dest:package='D:\_WebDeployBackups\<site-name>\<version-build>-backup.zip',ComputerName='https://<server-name>:8172/MsDeploy.axd?site=Default%20Web%20Site',UserName=,AuthType='NTLM' -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -allowUntrusted -retryAttempts=5 -retryInterval:5000
有人有避免这个问题的经验吗?或者,你能建议进一步调试的方法吗?
我已经确认磁盘空间没有问题。
答案1
默认情况下,WMSVC 的同时连接数限制为 3。若要增加该数量,您可以修改注册表 DWORD 项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]“MaxSiteConnections”
http://forums.iis.net/t/1203185.aspx?Web+deployment+task+failed+Max+number+of+connections
此外,我建议通过解析 WMSVC 日志来检查谁在使用你的连接