12

根据 Python 文档中的示例,我使用 SimpleXMLRPCServer 在 Python 中构建了一个 xml-rpc 服务器。我从同一台机器上的 Python 客户端调用它。服务器函数的主体自行执行非常快。

但是我发现 xmlrpc 客户端的性能非常慢,每次调用需要一秒钟。(使用 xmlrpclib。)

我在网上找到的一种加速技术(跳过 getfqdn 分辨率)没有帮助。

我的连接 URI 是:

'http://localhost:50080'

我在 Windows 7 上运行 Python 2.7 x64,但它对 32 位 Python 2.7 的工作方式相同。

4

1 回答 1

28

问题似乎在于客户端解析localhost

新的(快速)连接 URI:

'http://127.0.0.1:50080'

同样,在主机文件 %SystemRoot%\System32\drivers\etc\hosts 中添加这一行具有基本相同的效果:

127.0.0.1 本地主机

这些更改中的任何一个都将速度从 1 次调用/秒提高到 88 次调用/秒,并且跳过 getfqdn 分辨率可能会稍微加快速度。不是非常高容量,但我的应用程序可以接受。

更正:新的性能不是 88 次调用/秒,而是 ~1000 次调用/秒。

于 2013-01-24T15:06:37.313 回答