我们有一台TFS 2013服务器,我只用于源代码管理。我刚买了一台装有Windows 10和Visual Studio 2017的新台式电脑。我能够成功连接到TFS,我可以开始下载代码了,但是在本地构建了目录结构并且文件开始出现之后,几个如果成功,则其余部分因 503 Service Unavailable 而失败,连接丢失,迫使我重新连接。
我可以在几秒钟后再次连接,并继续尝试,它会再次发生。
如果我一次下载一个文件,似乎没问题,但是当我尝试拉动整个项目时,它会爆炸。
这发生在服务器上的多个项目中。
一般情况下,当我将应用程序重载到应用程序池崩溃的程度时,我在ASP.NET中看到503错误 - 我不知道这是否发生了什么,但如果确实如此,我想知道VS是否可能过快地降低代码,可能是有太多的并发线程或什么东西,旧版本的TFS无法处理,这会使它崩溃。
如果是这样的话,有什么办法可以在我的机器上更改吗?或者您对可能导致这种情况的其他任何想法?
截至目前,我无法访问服务器以获取事件日志,但如果我不能解决并修复自己,我可以提出请求。
答案 0 :(得分:1)
上次我遇到这个时,我落后于rate-limiting proxy。 503
是临时服务中断的常见错误代码,例如速率限制。
过多的请求被延迟,直到它们的数量超过最大突发大小,在这种情况下,请求以错误503(服务暂时不可用)终止。
托管TFS的IIS服务也可以be configured to have request rate limiting。
maxBandwidth
可选的uint属性。指定用于站点的最大网络带宽(以每秒字节数为单位)。使用此设置有助于防止IIS活动使网络过载。
maxConnections
可选的uint属性。指定站点的最大连接数。使用此设置可限制同时进行的客户端连接数。
Visual Studio 2017优化了它在多个并行线程上下载的方式(如果我没记错的话,至少8个)。这可以在某些代理中触发速率限制。许多小代码文件很容易触发速率限制。
如果可以直接访问TFS服务器,您可以尝试将其添加到代理排除列表中,以排除您端的代理是否导致中断。但是,诸如nginx之类的HTTP服务器也可以作为安全措施实现,并且可以在服务器端进行反向代理,在这种情况下,服务器管理员必须更改限制。
答案 1 :(得分:0)
从intellij访问我们的tfs-git存储库时,我遇到了类似的问题。突然,它错误了unable to access <repo url>
。请求的URL返回错误:503“。
什么帮助了:
在intellij-> VCS-git->遥控器中,将URL更改为错误的URL(验证失败),然后将其恢复为有效的URL。
在我的情况下,然后出现登录请求,我终于重新获得了对存储库的访问。