检索文件时 TFS 503 服务不可用 [英] TFS 503 Service Unavailable when retrieving files

查看:38
本文介绍了检索文件时 TFS 503 服务不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个 TFS 2013 服务器,我仅将其用于源代码控制.我刚拿到一台新的桌面电脑,装有 Windows 10 和 Visual Studio 2017.我能够成功连接到 TFS,我可以开始下拉代码,但是在本地构建目录结构并且文件开始下降后,有几个成功,然后其余的失败并显示 503 服务不可用,并且连接丢失,迫使我重新连接.

We have a TFS 2013 server which I use only for source control. I just got a new desktop PC with Windows 10 and Visual Studio 2017. I am able to connect successfully to TFS, and I can start to pull down code, but after the directory structure has been built locally and files start to come down, several are successful, then the rest fail with a 503 Service Unavailable, and the connection is lost, forcing me to reconnect.

我可以在几秒钟后再次连接,并继续尝试,它再次发生.

I can connect again a few seconds later, and keep trying, and it happens again.

如果我一次拉下一个文件,似乎还可以,但是当我尝试拉取整个项目时,它就炸了.

If I pull down files one at a time, it seems to be ok, but when I try to pull an entire project, it blows up.

这发生在服务器上的多个项目上.

This happens on multiple projects on the server.

一般来说,当我将应用程序重载到应用程序池崩溃的程度时,我会在 ASP.NET 中看到 503 错误 - 我不知道这是否是这里发生的情况,但如果是,我想知道是否可能是 VS 拉取代码太快,可能是并发线程太多,或者是旧版本的 TFS 无法处理,导致它崩溃.

In general, I see 503 errors in ASP.NET when I overload an application to the point where it crashes the application pool - I don't know if that's what's happening here, but if it is, I'm wondering if maybe VS is pulling down the code too fast, maybe with too many concurrent threads or something, that the older version of TFS can't handle, which crashes it.

如果是这样,我能做些什么来改变我的机器上的情况吗?或者您对可能导致这种情况的原因有任何其他想法吗?

If that's the case, is there anything I can do to change that on my machine? Or do you have any other ideas on what could cause this?

截至目前,我无法访问服务器来获取事件日志,但如果我无法弄清楚并自行修复,我可以提出请求.

As of now, I don't have access to the server to grab the event logs, but I can put in a request if it's not something I can figure out and fix myself.

推荐答案

上次我遇到这个问题,我支持了一个 限速代理.503是限速等临时服务中断的常见错误代码.

Last time I encountered this, I was behind a rate-limiting proxy. 503 is a common error code for temporary service interruptions such as rate limiting.

过多的请求会被延迟,直到它们的数量超过最大突发大小,在这种情况下,请求会因错误 503(服务暂时不可用)而终止.

Excessive requests are delayed until their number exceeds the maximum burst size in which case the request is terminated with an error 503 (Service Temporarily Unavailable).

托管 TFS 的 IIS 服务也可以配置为具有请求速率限制.

The IIS service that's hosting TFS can also be configured to have request rate limiting.

maxBandwidth 可选的 uint 属性.

maxBandwidth Optional uint attribute.

指定用于站点的最大网络带宽(以每秒字节数为单位).使用此设置有助于防止 IIS 活动使网络过载.

Specifies the maximum network bandwidth, in bytes per second, that is used for a site. Use this setting to help prevent overloading the network with IIS activity.

maxConnections 可选的 uint 属性.

maxConnections Optional uint attribute.

指定站点的最大连接数.使用此设置来限制并发客户端连接的数量.

Specifies the maximum number of connections for a site. Use this setting to limit the number of simultaneous client connections.

Visual Studio 2017 优化了通过多个并行线程(如果我没记错的话至少是 8 个)下载的方式.这可能会触发某些代理中的速率限制.而且很多小代码文件很容易触发限速.

Visual studio 2017 has optimized the way it downloads over multiple parallel threads (at least 8 if I remember correctly). This can trigger the rate limiting in some proxies. And lots of small code files can easily trigger a rate limit.

如果可以直接访问TFS服务器,您可以尝试将其添加到代理排除列表中,以排除您端的代理是否导致中断.但是像 nginx 这样的 HTTP 服务器也可以作为一种安全措施来实现,并且可能会在服务器端进行反向代理,在这种情况下,服务器管理员必须更改限制.

If it's possible to reach the TFS server directly, you could try to add it to the proxy exclusion list to rule out whether the proxy on your end is causing the interruption. But a HTTP server such as nginx could also be implemented as a security measure and may reverse-proxy on the server end, in which case the server admin must change the limits.

这篇关于检索文件时 TFS 503 服务不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆