【问题标题】:Why are Visual Studio Web Deploy updates so slow?为什么 Visual Studio Web Deploy 更新如此缓慢?
【发布时间】:2014-04-29 10:22:47
【问题描述】:

在使用Visual Studio 2013 使用WebDeploy 将Web 应用程序发布到服务器时,为什么会很慢很慢,这个过程可以加快吗?

如果应用程序部署在同一台机器上,更新速度会大大提高,因为它只更新更改的文件。

如果应用程序是从不同的机器上部署的,那么每个文件都会重新上传,即使它们没有改变。我怀疑 VS 正在使用原始文件时间戳检查来确定是否更新文件。

问题是,对于一个大小为 70MB 的应用程序,更新可能需要很长时间。

【问题讨论】:

  • 刚刚偶然发现这个,因为我遇到了同样的问题。 Web Deploy 非常慢,并且在选择要发送的文件的方式上远非聪明。在我的每次部署中,它都会无用地替换几个月未更改的文件。整个部署过程需要大修,不应该这么难,而且应该更智能。之前用git发布,超级快,非常可靠。它只部署实际的代码增量,如果可以避免的话,甚至不部署整个文件。
  • 我遇到了同样的问题。同一解决方案中的不同项目的行为不同,有些只会上传增量,但其他项目似乎不了解文件没有从实时服务器更改,并且每次都希望重新部署。可能是 IIS 权限?
  • @dave-gbs 部署正在进行原始时间戳检查。因此,如果您复制或 git refresh 或其他任何方式修改的日期时间不同,或者点击时间相差几分之一秒,它会认为文件已更改。
  • @simbolo 在此之后我们做了更多的测试,问题(正如你提到的)似乎与 git 提交有关......

标签: visual-studio publishing webdeploy


【解决方案1】:

默认情况下,WebDeploy 会通过比较时间戳来检查更改的文件。在很多情况下,即使文件的内容相同,时间戳也可能不同。 -useChecksum 标志可用于检查文件的内容而不是时间戳,这将加快文件时间戳不同但文件内容相同的部署,例如,您可以使用如下标志:

WebApplication1.deploy.cmd /y /M:localhost -useChecksum

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2013-11-06
    相关资源
    最近更新 更多