Python请求在Linux中返回的时间比Windows要长

时间:2013-12-29 05:24:12

标签: python linux windows box-api ubuntu-13.10

我正在编写一段使用Box.com Python SDK的代码。 SDK使用请求模块根据API documentation与Box.com进行通信。出于我的目的,我需要连续发出几个GET和POST请求,其中一些可用于传输文件。我遇到的问题是:

  • 在Linux(Ubuntu 13.10)上,每个请求都需要相对较长的时间(5到15秒)才能通过,尽管文件传输的传输速度与我的网络连接上下文一致。
  • 在Windows 8.1上运行完全相同的代码,请求的速度非常快(亚秒级快)。

在两个平台上,我使用相同版本的iPython(1.1.0)和Python 2.7下的请求模块(1.2.3)。这对我来说特别成问题,因为我正在处理的代码最终将在Linux机器上实现。

以前有人遇到过这个问题吗?我很乐意听到任何人对这个问题的看法有所了解。我还没有在不同的Linux安装上尝试它,看看它是否是特定设置的问题。

感谢。

编辑1

所以,我决定使用虚拟机来检查。在Windows下使用相同的Debian虚拟机,所有响应都很快,但在Ubuntu下它们很慢。然后我制作了一个Ubuntu 12.04直播USB并运行了代码,响应速度很快。

所以,它通常不是Python或Linux,而是我的特定安装,我不知道如何诊断问题:(

1 个答案:

答案 0 :(得分:3)

使用诸如wireshark之类的工具(需要在大多数发行版上使用sudo运行)来记录代码发出API请求时的各个网络数据包,以确定需要花费多长时间的内容

我的猜测最有可能是以下几种可能性:

  1. 由于某种原因,您的Ubuntu安装正在选择错误的DNS服务器列表,并且DNS查找已超时。
  2. IPv6问题(也可能是DNS问题)。禁用IPv6。