Gradle在Windows上对HTTP资源的访问速度极慢。如何诊断和修复?

问题描述:

Gradle 2.2需要几小时才能在Linux上花费8分钟的时间在PC上构建项目。当使用-debug运行时,在慢速机器上,gradle报告没有错误,但它停止并等待约。在每一个资源2分钟,每用户代理行之后:Gradle在Windows上对HTTP资源的访问速度极慢。如何诊断和修复?

18:39:15.819 [DEBUG] [org.apache.http.headers] >> User-Agent: Gradle/2.0 (Windows 7;6.1;amd64) (Oracle Corporation;1.7.0_67;24.65-b04) 
<2 min. delay> 
18:41:15.527 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Receiving response: HTTP/1.1 200 OK 
18:41:15.527 [DEBUG] [org.apache.http.headers] << HTTP/1.1 200 OK 

在同一子网Linux工作站(相同的防火墙后面,使用相同的squid代理)没有这个延迟。

An Extended snip from Windows is here.

Snip from Linux build around same point in build.

+0

你可以提供相同的日志为Linux端?你可以在Windows端试试看看你是否看到相同的挂起:'$ curl -v -H“连接:保持活动”-H“接受编码:gzip,放气”-A“Gradle/2.0 Windows 7; 6.1; amd64)(Oracle Corporation; 1.7.0_67; 24.65-b04)“http://repo1.maven.org/maven 2/org/eclipse/equinox/preferences/3.5.200-v20140224-1527 /偏好-3.5.200-v20140224-1527.jar.sha1' – bigguy 2014-11-23 01:12:16

+0

'curl.exe -v -H“连接:保持活着”-H“接受编码:gzip,deflate”-A“Gradle/2.0(Windows 7 ; 6.1; amd64)(Oracle Corporation; 1.7.0_67; 24.65-b04)“http:// repo1.maven.org/maven2/net/minecraftforge/gradle/ForgeGradle/1.2-SNAPSHOT/ForgeGradle-1.2-SNAPSHOT.jar 毫不迟疑。它正确的是一个404错误。 – Charlweed 2014-11-25 23:01:44

+0

[来自cURL的日志](https://gist.github.com/Charlweed/d70722728bc5e972f767) 在gradle中的相同请求等待2分钟! – Charlweed 2014-11-25 23:10:03

这似乎是一个透明HTTP代理和DansGuardian网页过滤器的一个很奇怪的问题。由于原因仍然不明,这台PC的http流量受到了损坏。 这很奇怪,因为我们整个局域网的http流量都是通过互联网过滤的。有一个过滤例外,允许这个慢速电脑的任何流量不被过滤。但是这与预期相反。 Gradle流量在'未经过滤'的个人电脑上变得非常慢,而内容过滤的工作站没有问题。即使是陌生人,Gradle也以正常的速度在未过滤的Linux工作站上运行。

解决方法是配置IPTables和透明代理以完全忽略慢速PC的http流量。所以现在它是未经过滤的,没有任何问题。它被昵称为色情电影。

它也发生在我们身上,尽管在我们的案例中它是由PC上的防病毒(Nod32不作为它的名称)引起的。 我们必须完全禁用HTTP/Web过滤器。

可能不是你的情况,但可能会帮助其他人来这里寻求建议。