java - 来自 Windows 操作系统的 Apache HttpPut 请求非常慢

标签 java windows rest httpclient

我将 Apache DefaultHttpClient 与 HttpPut 结合使用,使用 REST API 进行文件上传。从 Windows 运行时非常慢,它发送 240 kb/秒。但是当我从 MAC 运行相同的文件时它发送 950 kb/秒

我对 windows 和 Mac OS 没有任何明确的条件。

谁能帮我解决这个问题。

我的代码:

HttpPut putRequest = new HttpPut("http://my.localhost.com:8888");
FileEntity reqEntity = new FileEntity("c:/test/test.zip","text/plain");
putRequest.setEntity(reqEntity);
putRequest.addHeader("X-Auth-Token",strToken);
httpResponse = client.execute(putRequest);
mResponseCode = httpResponse.getStatusLine().getStatusCode();

最佳答案

Java 是 Write once, run anywhere (沃拉)。因此,Windows 机器上的 HTTP 连接比 Mac 机器慢的原因与 Java 无关。

可能有几个 Windows 机器故障会减慢上传速度。我建议您在 elevated 上按顺序运行以下命令命令提示符。

要禁用接收端缩放:

netsh interface tcp set global rss=disabled

要禁用 TCP/IP 自动调整:

netsh interface tcp set global autotuninglevel=disabled

禁用所有任务卸载:

netsh int ip set global taskoffload=disabled

可以找到有关上述命令的更多详细信息here .

如果问题仍然存在,那么你应该

  1. 重新安装网络驱动程序进行测试。
  2. 启动到带网络的安全模式以检查结果。如果正常,请查看Clean Boot中的结果检查哪个第三方工具对此有影响。

希希尔

关于java - 来自 Windows 操作系统的 Apache HttpPut 请求非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531257/

相关文章:

c# - 在 NotifyIcon 单击时切换表单可见性并在单击其他位置时将其隐藏

java - 我们可以使用TestNG ExpectedExceptionsMessageRegExp来匹配原因文本吗?

c# - 为什么 DirectoryInfo.GetFiles() 匹配不匹配掩码的文件?

java - 在构建Apache CXF项目时“发现以元素'http:basicAuthSupplier开头的无效内容”

python - 如何在 64 位 Windows 上安装 SciPy?

java - 使用 REST 服务上传文件

json - 为什么@RequestBody 获取具有空属性的对象

node.js - 环回 REST findById 无法正常工作

java - 将 .jks 文件流转换为 utf-8 编码字符串并返回流后获取 "java.io.IOException: Invalid keystore"格式

java - GWT:带按钮单击的往返示例